home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
database
/
vs_804
/
function.doc
< prev
next >
Wrap
Text File
|
1991-11-13
|
321KB
|
11,782 lines
VS_AddDays() Add a specified number of days to a "date/time"
Description:
VS_AddDays() allows you to add a specified number of days to a
"date/time" numeric value.
Syntax:
n_DT2 := VS_AddDays( n_DT1, n_Days )
Pass:
n_DT1 is a numeric "date/time" value as returned by VS_DateTime()
n_Days is a numeric that should represent the number of days you
want to add to n_DT1.
Return:
n_DT2 is a numeric value that will contain a "date/time" numeric
value representing n_DT1 plus n_Days.
Notes:
Example:
n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )
? VS_AddDays( n_DT1, 5 )
Usage:
See Also:
VS_AddHours() VS_AddMins() VS_AddSecs()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 1 -
VS_AddHours() Add a specified number of hours to a "date/time"
Description:
VS_AddHours() allows you to add a specified number of hours to a
"date/time" numeric value.
Syntax:
n_DT2 := VS_AddHours( n_DT1, n_Hours )
Pass:
n_DT1 is a numeric "date/time" value as returned by VS_DateTime()
n_Hours is a numeric that should represent the number of hours you
want to add to n_DT1.
Return:
n_DT2 is a numeric value that will contain a "date/time" numeric
value representing n_DT1 plus n_Hours.
Notes:
Example:
n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )
? VS_AddHours( n_DT1, 5 )
Usage:
See Also:
VS_AddDays() VS_AddMins() VS_AddSecs()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 2 -
VS_AddMins() Add a specified number of minutes to a "date/time"
Description:
VS_AddMins() allows you to add a specified number of minutes to a
"date/time" numeric value.
Syntax:
n_DT2 := VS_AddMins( n_DT1, n_Mins )
Pass:
n_DT1 is a numeric "date/time" value as returned by VS_DateTime()
n_Mins is a numeric that should represent the number of minutes
you want to add to n_DT1.
Return:
n_DT2 is a numeric value that will contain a "date/time" numeric
value representing n_DT1 plus n_Mins.
Notes:
Example:
n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )
? VS_AddMins( n_DT1, 5 )
Usage:
See Also:
VS_AddDays() VS_AddHours() VS_AddSecs()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 3 -
VS_AddRec() Add a new record by re-using deleted records
Description:
VS_AddRec() adds a new record to the database file associated with the
current work area. It will first attempt to RECALL a record marked
for deletion. If successfully added or recalled, each field in the
new record is set to the empty value for its field type and the new
(or recalled) record becomes the current record.
Syntax:
l_Success = VS_AddRec()
Pass:
Nothing
Return:
l_Success is a logical expression that will be set to .T. if
successful, otherwise .F.
Notes:
■ Logical Records: VS_AddRec() does not respect the logical
visibility. That is, if the record is successfully recalled/added, it
becomes the current record regardless of any index or filter
condition.
■ Network Environment: For a shared database on a network,
VS_AddRec() automatically places a record lock on the new record. If
the record cannot be locked, it is not added (or recalled) and
VS_AddRec() will set l_Success to .F.
Example:
IF .NOT. VS_AddRec()
VS_DIE( "Unable to add a new record!" )
ENDIF
Usage:
VS_AddRec() (when used with VS_DelRec()) totally eliminate the need to
ever PACK a database file.
See Also:
VS_DelRec()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 4 -
VS_AddSecs() Add a specified number of seconds to a "date/time"
Description:
VS_AddSecs() allows you to add a specified number of seconds to a
"date/time" numeric value.
Syntax:
n_DT2 := VS_AddSecs( n_DT1, n_Secs )
Pass:
n_DT1 is a numeric "date/time" value as returned by VS_DateTime()
n_Secs is a numeric that should represent the number of seconds
you want to add to n_DT1.
Return:
n_DT2 is a numeric value that will contain a "date/time" numeric
value representing n_DT1 plus n_Secs.
Notes:
Example:
n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )
? VS_AddSecs( n_DT1, 5 )
Usage:
See Also:
VS_AddDays() VS_AddHours() VS_AddMins()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 5 -
VS_Alert() Question box with multiple buttons
Description:
VS_Alert() allows you to ask the user a question and have multiple
buttons for the reply.
Syntax:
n_Button = VS_ALERT( ac_TextLines, ac_Buttons, [n_Palette], [n_Row],
[n_Column] )
Pass:
ac_TextLines is an array of character values containing each line
to be displayed to the user. Each element of this array is a line of
text in the VS_ALERT() box.
ac_Buttons is an array of character values containing the buttons
that will be available to the user. Each element of this array is a
button in the VS_ALERT() box.
[n_Palette] is an optional palette number to be used for the
VS_ALERT() box. If none is specified, the current palette is used.
[n_Row] is an optional row number to place the top left corner of
the VS_ALERT() box on.
[n_Column] is an optional column number to place the top left
corner of the VS_ALERT() box on.
Return:
n_Button is a numeric value representing which button the user
"pressed".
Notes:
VS_ALERT() is non-screen-destructive.
Example:
n_Button = VS_ALERT( {"An Error Has Occurred.", ;
"What Do You Want To Do?"}, {" Abort ", ;
" Retry ", " Quit "}, 3 )
DO CASE
CASE n_Button = 1
AbortFunc()
CASE n_Button = 2
RetryFunc()
OTHERWISE
QUIT
ENDCASE
Usage:
VS_ALERT() is useful for asking the user such things as "What shall I
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 6 -
do now?", "Where do you want this output to go?", etc.
See Also:
VS_MSG()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 7 -
VS_Append() Add a new record
Description:
VS_Append() adds a new record to the database associated with the
currently selected work area. If successfully added, each field in
the record is set to the empty value for its data type and the new
record becomes the current record.
Syntax:
l_Success = VS_Append()
Pass:
Nothing
Return:
l_Success is a logical expression that will be set to .T. if
VS_Append() was able to successfully add a new record to the database
otherwise l_Success will be set to .F.
Notes:
■ Logical Records: VS_Append() does not respect logical
visibility. That is, if the record is successfully added, it becomes
the current record regardless of any index or filter condition.
■ Network Environment: For a shared database on a network,
VS_Append() automatically places a record lock on the new record. If
the record cannot be loced, it is not added and VS_Append() will set
l_Success to .F.
Example:
BEGIN SEQUENCE
IF .NOT. CUST->( VS_Append() )
BREAK
ENDIF
...
END SEQUENCE
Usage:
VS_Append() will try to append a blank record to the currently
selected file. If it is unsuccessful, a non-screen destructive
message stating "Waiting for busy network. Press any key to abort."
will appear on the screen and VS_Append() will endlessly attempt to
append a blank record to the currently selected database. If the user
aborts the operation by pressing a key, VS_Append() will return a
logical value of false, it's your job as the programmer to abort the
operation and recover properly.
See Also:
VS_FakeLck VS_RLock() VS_FLock() VS_Use() VS_AddRec() VS_DelRec()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 8 -
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 9 -
VS_ArraySkip() TBrowse SkipBlock for arrays
Description:
VS_ArraySkip() is designed to be used in a TBrowse skipblock. The use
of this function makes browsing arrays a real piece of cake!
Syntax:
n_Skipped = VS_ArraySkip( n_Length, @n_CurrPos, n_Howmany )
Pass:
n_Length is a numeric value that should contain the total number
of elements in the array you are browsing.
n_CurrPos is a numeric value that should contain the current
position within the array you are browsing. n_CurrPos must be
passed by reference (@n_CurrPos).
n_HowMany is a numeric value that represents how many elements to
skip.
Return:
n_Skipped is a numeric value that will contain the actual number
of elements skipped within the array you are browsing.
Notes:
Example:
o_Browse:SkipBlock = {|x|VS_ArraySkip(n_Len,@n_Pos,x)}
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 10 -
VS_Ask() Asks the user a one line question
Description:
VS_Ask() prompts the user with a one line question and will return a
one character response which can be limited to specific characters.
Syntax:
c_Answer = VS_Ask( c_Question, c_KeyList, [n_row] , [n_Col] )
Pass:
c_Question is a character expression containing the question to
ask the user. c_Question should not include the question mark.
c_KeyList is a character expression containing the list of
acceptable characters that the user can respond with. The first
character in the list is used as the default answer.
n_Row is an option numeric value representing the top row of the
window.
n_Col is an option numeric value representing the left column of
the window.
Return:
c_Answer is a character expression of the key the user pressed.
Notes:
VS_Ask() is non-screen destructive.
Example:
IF VS_Ask("Continue","YyNn") $ "Nn"
QUIT
ENDIF
Usage:
VS_Ask() is very useful for asking the user simple questions such as
"Is the printer ready?", "Are you sure?", etc.
See Also:
VS_ASK2() VS_MSG() VS_WIND()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 11 -
VS_Ask2() Asks the user a multi-line question
Description:
VS_Ask2() prompts the user with a multiple line question and will
return a one character response which can be limited to specific
characters.
Syntax:
c_Answer = VS_Ask2( ac_Question, n_Elements, c_Title, c_FootNote,
c_KeyList, [n_Row], [n_Col] )
Pass:
ac_Question is an array of character values containing each line
to be displayed to the user. Each element of this array is a line of
text in the VS_Ask2() box.
n_Elements is a numeric value respresenting the number of elements
in ac_Question.
c_Title is a text string to be displayed at the top of the window
(offset to the left).
c_Footnote is a text string to be displayed at the bottom of the
window (centered).
c_KeyList is a character expression containing the list of
acceptable characters that the user can respond with. The first
character in the list is used as the default answer.
n_Row is an optional numeric value representing the top row of the
window.
n_Col is an optional numeric value representing the left column of
the window.
Return:
c_Answer is a character expression of the key the user pressed.
Notes:
VS_Ask2() is non-screen destructive.
Example:
ac_msg[1] = "This is line one"
ac_msg[2] = "This is line two"
ac_msg[3] = "Which do you like best"
c_memvar = VS_ASK2(ac_msg,3,"","","123")
? "You selected line number " + c_memvar
Usage:
VS_ASK2() is of benefit when it becomes neccessary to ask the user a
question of quite some length. i.e. "WARNING: Proceeding with this
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 12 -
operation will completely erase all data files. Please be sure you
have made sufficient backups. Are you sure you want to continue?"
See Also:
VS_ASK() VS_MSG() VS_WIND()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 13 -
VS_Black() Returns the codes to turn "Black" on
Description:
VS_Black() returns the appropriate control codes to make the currently
selected printer print in black.
Syntax:
c_CtrlCode = VS_Black()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print in black.
Notes:
If a printer has not yet been selected, VS_Black() will call
VS_InitPrtr().
Note:
Non-Color printers will be uneffected by the use of this function.
Example:
SET PRINT ON
? VS_Black() + "This will be in black"
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 14 -
VS_Blue() Returns the codes to turn "Blue" on
Description:
VS_Blue() returns the appropriate control codes to make the currently
selected printer print in blue.
Syntax:
c_CtrlCode = VS_Blue()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print in blue.
Notes:
If a printer has not yet been selected, VS_Blue() will call
VS_InitPrtr().
Note:
Non-Color printers will be uneffected by the use of this function.
Example:
SET PRINT ON
? VS_Blue() + "This will be in blue"
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 15 -
VS_Bold() Print a string in "Bold" mode
Description:
VS_Bold() returns the appropriate control codes to make the currently
selected printer print in "Bold" mode.
Syntax:
c_CtrlCode = VS_Bold( c_String )
Pass:
c_String is a character expression containing the value to print.
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print c_String in "Bold" mode.
Notes:
If a printer has not yet been selected, VS_Bold() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_Bold([This will be in "Bold" mode.])
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_BoldOn() VS_BoldOff() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 16 -
VS_BoldOff() Returns the codes to turn "Bold" off
Description:
VS_BoldOff() returns the necessary codes to make the currently
selected printer stop printing in "Bold" mode.
Syntax:
c_CtrlCode = VS_BoldOff()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that will contain the
necessary codes to make the currently selected printer stop printing
in "Bold" mode.
Notes:
If a printer has not yet been selected, VS_BoldOff() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_BoldOn()
? [This is in "Bold"]
? [So is this]
? VS_BoldOff()
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_Bold() VS_BoldOn() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 17 -
VS_BoldOn() Returns the codes to turn "Bold" on
Description:
VS_BoldOn() returns the necessary codes to make the currently selected
printer print in "Bold" mode.
Syntax:
c_CtrlCode = VS_BoldOn()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that will contain the
necessary codes to make the currently selected printer print in "Bold"
mode.
Notes:
If a printer has not yet been selected, VS_BoldOn() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_BoldOn()
? [This will be in "Bold" mode]
? [So will this]
? VS_BoldOff()
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_Bold() VS_BoldOff() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 18 -
VS_BoxStr() Returns the current box string
Description:
VS_BoxStr() allows the programmer to sense what box string the user
has selected for the window boxes on the current palette.
Syntax:
c_BoxStr = VS_BoxStr()
Pass:
Nothing
Return:
c_BoxStr is a character expression that will contain the current
window box string.
Notes:
Example:
? VS_BoxStr()
Usage:
See Also:
VS_VBoxStr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 19 -
VS_Browse() Database pick-list/browser routine
Description:
VS_Browse() allows the user to pick a database record from a "pick
list/browse" window. The window can contain as many field columns as
you (the programmer) want to provide as the user may "pan" left and
right (in addition to scrolling up and down) within the window.
Syntax:
n_Key = VS_Browse( n_Top, n_Left, n_Bottom, n_Right, c_Title,
c_FootNote, n_Palette, a_ColObjs, c_FirstKey, b_Condition, ac_Procs,
an_Keys )
Pass:
n_Top is a numeric value containing the top row of the window.
n_Left is a numeric value containing the left column of the
window.
n_Bottom is a numeric value containing the bottom row of the
window.
n_Right is a numeric value containing the right column of the
window.
c_Title is a character expression that will be displayed at the
top of the window (offset to the left)
c_Footnote is a character expression that will be displayed at the
bottom of the window (centered)
n_Palette is a numeric value representing the palette number
VS_Browse() will use when it creates the window.
a_ColObjs is an array of TBColumn Objects. Each element in this
array represents one column in the window. See Clipper v5.0x
documentation under TBColumn for more information.
c_FirstKey is an optional character expression that represents the
index key of the first record to display. i.e. If the database were
indexed on last_name and c_FirstKey contained "SMITH", then the
first record displayed in the window would have the last name of
"SMITH".
b_Condition is an optional code block that is evaluated for each
record prior to its being displayed in the window. This code block
should return .T. only when the record in question is within the range
of records you wish to see in the window. i.e. using the "SMITH"
example above... if you only wanted to see a list of persons with the
last name of "SMITH", this code block code look like this:
{|x|LAST_NAME==x}.
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 20 -
ac_Procs is an optional array of character expressions that tell
VS_Browse() which procedures to call within the window.
an_Keys is an optional array of numeric values (parallel to
ac_Procs) that indicate to VS_Browse() the INKEY() values of which
keys invoke which procedure. In other words, if the user presses a
key listed in this array, VS_Browse() will call the procedure named in
the parallel element of ac_Procs.
Return:
n_Key is a numeric expression that represents the INKEY() value of
the last key the user pressed.
Notes:
VS_Browse() replaces VS_Pick().
Example:
LOCAL n_Key := 0
LOCAL n_Top := 5
LOCAL n_Left := 5
LOCAL n_Bottom := 20
LOCAL n_Right := 75
LOCAL c_Title := " This is the title "
LOCAL c_FootNote := " This is the footnote "
LOCAL n_Palette := 5
LOCAL a_ColObjs := {}
LOCAL c_FirstKey
LOCAL b_Condition
LOCAL ab_KeyBlocks
LOCAL an_Keys
VS_InitVern()
USE VERNSIX INDEX VERNSIX
AADD( a_ColObjs, TBColumnNew( "Function - Short
Description", ;
{||FUNC_NAME+[ - ]+SHORT} ) )
n_Key = VS_Browse(n_Top, n_Left, n_Bottom, n_Right, c_Title,
c_FootNote,;
n_Palette, a_ColObjs )
? "n_Key=",n_Key
? "RECNO()=",RECNO()
Usage:
VS_Browse() can be used anytime you want a user to be able to select a
record from a database. I find it to be a very valuable tool inside
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 21 -
validation routines, etc.
See Also:
VS_Pick()*
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 22 -
VS_CanMake() Returns recreate setting from data dictionary
Description:
VS_CanMake() allows the programmer to see if a DBF can be "re-created"
if missing.
Syntax:
l_CanMake = VS_CanMake( c_DbfName )
Pass:
c_DbfName is a character expression that should contain the name
of the data base in question. This name MUST exist in the data
dictionary!!
Return:
l_CanMake is a logical expression that will be set to .T. if it is
okay to re-create c_Dbfname, otherwise .F.
Notes:
Example:
IF VS_CanMake("MYFILE")
...
ENDIF
Usage:
See Also:
VS_OpenDbf()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 23 -
VS_Center() Centers a string
Description:
VS_Center() allows you to center a string within a given width.
VS_Center() can be used either with screen or printer output.
Syntax:
n_Pos = VS_Center( c_String [, n_Width] )
Pass:
c_String is the character expression to be centered.
n_Width is an optional numeric value of the desired width to
center c_String within. If omitted, 80 is assumed.
Return:
n_Pos is a numeric value representing the position to print
c_String at.
Notes:
Example:
c_Temp = "This string will be centered on line ten"
@ 10,VS_Center(c_Temp) SAY c_Temp
Usage:
VS_Center() comes in handy when you want to put text on the screen at
exactly the center of a line. VS_Center() frees you from having to
determine the proper amount of spaces yourself.
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 24 -
VS_CfgFile() Returns the name of the current Config file
Description:
VS_CfgFile() returns the name of the current "config" color that
VERNSIX5.LIB uses to store the color settings, etc.
Syntax:
c_FileName = VS_CfgFile()
Pass:
Nothing
Return:
c_FileName is a character expression that will contain the
filename base of the config file.
Notes:
No extension is returned!
Example:
? VS_CfgFile()
Usage:
See Also:
VS_InitVern()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 25 -
VS_ChkAuth() Checks the user's security authorization
Description:
VS_ChkAuth() allows the programmer to ensure that only authorized
users can access sensitive elements (functions) of an application.
Syntax:
l_Authorized = VS_ChkAuth( c_ReqdOpt )
Pass:
c_ReqdOpt is a character expression that the user must have in
his/her "OPTIONS" field in the SECURITY.DBF (maintained via
VS_MntPwd())
Return:
l_Authorized is a logical expression that will be set to .T. if
the user has c_ReqdOpt anywhere in the OPTIONS field in his
record in SECURITY.DBF. If the user does not have c_ReqdOpt in
his OPTIONS field in SECURITY.DBF, l_Authorized will be set to .F.
Notes:
You (the Super User) must setup each user's record in SECURITY.DBF
through the use of VS_MntPwd().
Example:
IF .NOT. VS_ChkAuth("SECRET")
VS_DIE("Sorry, you do not have the proper authorization","to
perform this function!!")
ENDIF
...
...
Usage:
VS_ChkAuth() MUST NOT be used prior to VS_Login().
See Also:
VS_Login() VS_MntPwd() STRUCT.NGO:Security VS_Initials() VS_UserName()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 26 -
VS_CloseDict() Close all open data dictionary files
Description:
VS_CloseDict() closes all of the open data dictionary files.
Syntax:
VS_CloseDict()
Pass:
Nothing
Return:
VS_CloseDict() always returns NIL.
Notes:
Example:
VS_CloseDict()
Usage:
See Also:
VS_OpenDict()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 27 -
VS_CloseLst() Close a list of databases
Description:
VS_CloseLst() will close a list of open databases.
Syntax:
VS_CloseLst( ac_DbfList )
Pass:
ac_DbfList is an array of character expression each representing
the ALIAS() name of an open database.
Return:
Nothing
Notes:
VS_CloseLst() is ideally suited to be used in concert with
VS_OpenLst().
Example:
LOCAL ac_DbfList := {}
AADD( ac_DbfList, "DBF_ONE" )
AADD( ac_DbfList, "DBF_TWO" )
AADD( ac_DbfList, "DBF_THREE" )
IF VS_OpenLst(ac_DbfList)
...
...
VS_CloseLst(ac_DbfList)
ENDIF
...
Usage:
See Also:
VS_OpenLst()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 28 -
VS_Color() Prompts user for color settings
Description:
VS_Color() prompts the user for the various color schemes (text and
windowed) that he/she wants to use while in your program. VS_Color()
is non-screen destructive, however you should redraw the screen after
a call to VS_Color() to reflect the new colors as set by the user.
VS_Color() will *NOT* re-paint the screen using the newcolors.
Syntax:
VS_COLOR()
Pass:
Nothing
Return:
VS_Color() always returns NIL.
Notes:
Example:
VS_COLOR()
Usage:
VS_Color() is great for allowing the user to define his/her own color
preferences. If you use the VS_TxtColr() and VS_WndColr() functions,
VS_Color() makes colors one less thing to worry about while you are
writing your application. Colors are stored in the configuration
database automatically.
See Also:
VS_InitVern() VS_TxtColr() VS_WndColr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 29 -
VS_Cond() Print a string in "Condensed" mode
Description:
VS_Cond() returns the appropriate control codes to make the currently
selected printer print in "Condensed" mode.
Syntax:
c_CtrlCode = VS_Cond( c_String )
Pass:
c_String is a character expression containing the value to print.
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print c_String in "Condensed" mode.
Notes:
If a printer has not yet been selected, VS_Cond() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_Cond([This will be in "Condensed" mode.])
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_CondOn() VS_CondOff() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 30 -
VS_CondOff() Returns the codes to turn "Condensed" off
Description:
VS_CondOff() returns the necessary codes to make the currently
selected printer stop printing in "Condensed" mode.
Syntax:
c_CtrlCode = VS_CondOff()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that will contain the
necessary codes to make the currently selected printer stop printing
in "Condensed" mode.
Notes:
If a printer has not yet been selected, VS_CondOff() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_CondOn()
? [This is in "Condensed"]
? [So is this]
? VS_CondOff()
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_Cond() VS_CondOn() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 31 -
VS_CondOn() Returns the codes to turn "Condensed" on
Description:
VS_CondOn() returns the necessary codes to make the currently selected
printer print in "Condensed" mode.
Syntax:
c_CtrlCode = VS_CondOn()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that will contain the
necessary codes to make the currently selected printer print in
"Condensed" mode.
Notes:
If a printer has not yet been selected, VS_CondOn() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_CondOn()
? [This will be in "Condensed" mode]
? [So will this]
? VS_CondOff()
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_Cond() VS_CondOff() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 32 -
VS_Coord() Allows the user to size a box on the screen
Description:
VS_Coord allows the user to size a box on the screen through the use
of the cursor control keys. It returns the top left and bottom right
coordinates to your program.
Syntax:
VS_Coord( @n_top, @n_Left, @n_Bottom, @n_Right )
Pass:
n_Top is a numeric value representing the starting top row.
n_Left is a numeric value representing the starting left column.
n_Bottom is a numeric value representing the starting bottom row.
n_Right is a numeric value representing the starting right column.
Return:
Your variables will be changed to the new coordinate values.
Notes:
Please note the "@" sign preceeding each parameter. This is required
in order for VS_COORD to psuedo-return all four changed coordinates.
Example:
VS_Coord( @n_Top, @n_Left, @n_Bottom, @n_Right)
Usage:
VS_Coord() is handy for allowing the user to tell your program exactly
where he/she wants a window, etc.
When this procedure is called the user will see a box appear on the
screen (at the starting coordinates you specified). The cursor will
be in the upper left corner of the box. The user can move this corner
of the box around the screen by using the cursor control keys.
To move the cursor to the opposite corner of the box, the user should
press the [HOME] key. He/she can now move this corner of the box
around the screen in the same fashion as the previous corner.
Pressing [HOME] again will move the cursor back to the first corner.
The [HOME] key can be used as many times as necessary to toggle which
corner is being "moved".
When the box is the right size and in the correct location, the user
should press the [RETURN] key.
See Also:
VS_Help() VS_MakeHlp() VS_Wind()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 33 -
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 34 -
VS_Correct() Prompts user for "correctness" of the screen
Description:
VS_Correct() allows the programmer to quickly verify that the input
screen is correct before proceeding.
Syntax:
n_Choice = VS_Correct()
Pass:
Nothing
Return:
n_Choice is a numeric expression that will be one of the following
based on the user's input...
---------------
Value Meaning
---------------
1 Yes
2 No
3 Cancel
Notes:
The user can move the "query" box up and down on the screen to reveal
text/data that it covers. This provides total screen viewing before
answering the query.
Example:
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 35 -
VS_CreateHelp() Create the HELP database.
Description:
VS_CreateHelp() is a simple little function that will create the files
HELP.DBF, HELP.DBF and HELP.NTX.
Syntax:
VS_CreateHelp()
Pass:
Nothing
Return:
Nothing
Notes:
VS_CreateHelp() does not open the help files for use.
Example:
VS_CreateHelp()
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 36 -
VS_Cvt2Str() Convert any data type to string
Description:
VS_Cvt2Str() will convert an expression of any data type to a
character expression.
Syntax:
c_String = VS_Cvt2Str( SomeData, [l_OnOff] )
Pass:
SomeData is any valid data expression to be converted to a string.
l_OnOff is a logical expression. If .T., VS_Cvt2Str() will
convert SomeData to either "ON" or "OFF" if SomeData is a
logical expression. If .F., VS_Cvt2Str() will convert SomeData to
either "YES" or "NO" if SomeData is a logical expression.
Return:
c_String is a character expression containing the character
representation of SomeData.
Notes:
Example:
QOut("["+VS_Cvt2Str(.T.,.T.)+"]") // Output: [ON]
QOut("["+VS_Cvt2Str(.F.,.T.)+"]") // Output: [OFF]
QOut("["+VS_Cvt2Str(.T.,.F.)+"]") // Output: [YES]
QOut("["+VS_Cvt2Str(.F.,.F.)+"]") // Output: [NO]
QOut("["+VS_Cvt2Str(98)+"]") // Output: [98]
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 37 -
VS_CvtCode() Converts a "Lotus" style printer string
Description:
VS_CvtCode() converts a "Lotus" stylle control string to a "true"
ASCII string. i.e. "\027E"
Syntax:
c_True = VS_CvtCode( c_Lotus )
Pass:
c_Lotus is a character expression that represents the "Lotus"
style string to convert. i.e. "\027E"
Return:
c_True is a character expression that represents the converted
"Lotus" string in "true" ASCII form.
Notes:
Example:
c_Code = VS_CvtCode("\012\124\251")
is the same as....
c_Code = CHR(12) + CHR(124) + CHR(251)
Usage:
VS_CvtCode() is primarily used by VS_InitPrtr() to allow the user a
convienent method for enter otherwise "un-typeable" ASCII characters.
See Also:
VS_InitPrtr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 38 -
VS_DateTime() Returns a numeric "date/time" value
Description:
VS_DateTime() returns a numeric "date/time" value for a specified date
and time.
Syntax:
n_DateTime = VS_DateTime( d_Date, c_Time )
Pass:
d_Date is a date expression (ex: DATE()) that should contain the
date of the value you want returned from VS_DateTime().
c_Time is a character-time expression (ex: TIME()) that should
contain the time of the value you want returned from VS_DateTime().
Return:
n_DateTime is a numeric value that will represent the date and
time you specified in your call to VS_DateTime().
Notes:
If you are going to store the numeric "date/time" in a database, you
should define the field as a type of NUMERIC with a length of 16 and
decimals of 5.
Example:
n_Start = VS_DateTime( DATE(), TIME() )
wait
n_ElapSecs = VS_ElapSecs( n_Start, VS_DateTime(DATE(),TIME()) )
QOut( "You waited ", n_ElapSecs, " seconds!" )
...
Usage:
VS_DateTime() allows you to retrieve a date/time all in one variable
instead of Clipper's cumbersome DATE() and TIME() functions.
See Also:
VS_GetDate() VS_GetTime()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 39 -
VS_DbfList() Returns a list of all databases in dictionary
Description:
VS_DbfList() allows the programmer to quickly obtain a list of all the
databases currently defined in the data dictionary.
Syntax:
ac_Dbflist = VS_DbfList()
Pass:
Nothing
Return:
ac_DbfList is an array of character expression, each representing
the name of a database listed in the data dictionary.
Notes:
Example:
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 40 -
VS_Dbl() Print a string in "Double width" mode
Description:
VS_Dbl() returns the appropriate control codes to make the currently
selected printer print in "Double width" mode.
Syntax:
c_CtrlCode = VS_Dbl( c_String )
Pass:
c_String is a character expression containing the value to print.
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print c_String in "Double width" mode.
Notes:
If a printer has not yet been selected, VS_Dbl() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_Dbl([This will be in "Double width" mode.])
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_DblOn() VS_DblOff() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 41 -
VS_DblOff() Returns the codes to turn "Double width" off
Description:
VS_DblOff() returns the necessary codes to make the currently selected
printer stop printing in "Double width" mode.
Syntax:
c_CtrlCode = VS_DblOff()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that will contain the
necessary codes to make the currently selected printer stop printing
in "Double width" mode.
Notes:
If a printer has not yet been selected, VS_DblOff() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_DblOn()
? [This is in "Double width"]
? [So is this]
? VS_DblOff()
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_Dbl() VS_DblOn() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 42 -
VS_DblOn() Returns the codes to turn "Double width" on
Description:
VS_DblOn() returns the necessary codes to make the currently selected
printer print in "Double width" mode.
Syntax:
c_CtrlCode = VS_DblOn()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that will contain the
necessary codes to make the currently selected printer print in
"Double width" mode.
Notes:
If a printer has not yet been selected, VS_DblOn() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_DblOn()
? [This will be in "Double width" mode]
? [So will this]
? VS_DblOff()
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_Dbl() VS_DblOff() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 43 -
VS_DecTo36() Converts an integer to a base 36 number
Description:
VS_DecTo36() converts an integer to a base 36 number.
Syntax:
c_Base36Nmbr = VS_DecTo36( n_Integer )
Pass:
n_Integer is the numeric (integer) value to convert to a base 36
number.
Return:
c_Base36Nmbr is a character expression containing the converted
n_Integer
Notes:
VS_DecTo36() always returns a string exactly six characters in length
(padded on the left with zeros)
Example:
? VS_DecTo36( 14 ) // Prints: 00000E
Usage:
VS_DecTo36() is useful for creating "signature" fields for use in
multi-user databases, etc.
See Also:
VS_Unique()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 44 -
VS_Decrypt() Decrypts a string encrypted with VS_Encrypt()
Description:
VS_Decrypt() is used to decrypt a string that you previously encrypted
with VS_Encrypt().
Syntax:
c_String = VS_Decrypt( c_Encrypted, n_Key )
Pass:
c_Encrypted is a character expression containing the value you
want to decrypt. (NOTE: This must be same value returned from
VS_Encrypt())
n_Key is a numeric value containing the "lock key" you specified
when you made the original call to VS_Encrypt(). If you do not
specify the same value for n_Key you will receive garbage from
VS_Decrypt().
Return:
c_String is a character expression containing the decrypted value
for c_Encrypted.
Notes:
To properly decrypt a string, you must used the same value for
n_Key!!
Example:
Usage:
VS_Decrypt() is used to decrypt data that you have previously
encrypted with VS_Encrypt().
See Also:
VS_Encrypt()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 45 -
VS_DefPal() Sets the color palette defaults
Description:
VS_DefPal() is called by VERNSIX.LIB when the configuration database
is initially created. This is the function the programmer should
change if he/she doesn't like the initial color settings.
Syntax:
VS_DEFPAL( n_Palette )
Pass:
n_Palette is a numeric value representing the palette number to
set to default color.
Return:
VS_DefPal() always returns NIL
Notes:
Example:
VS_DefPal(1) && Resets color palette number 1
VS_SaveClr() && Saves changes to disk
Usage:
The programmer should rarely have a need to use this function, but it
is important he/she know this is the function to modify to change the
initial color settings.
See Also:
VS_Palette() VS_SaveClr() VS_ReadClr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 46 -
VS_DelRec() Delete a record so VS_AddRec() can re-use it
Description:
VS_DelRec() deletes the current record in the database associated with
the current work area. VS_DelRec() will first attempt to obtain a
record lock on the current record. If successfully locked,
VS_DelRec() will reset each field in the record to the empty value for
its field type and then mark the record for deletion. VS_DelRec()
releases the record lock before returning!
Syntax:
l_Deleted = VS_DelRec()
Pass:
Nothing
Return:
l_Deleted is a logical expression that will be set to .T. if the
current record was successfully deleted, otherwise .F.
Notes:
Because VS_DelRec() resets each field to its empty value, EXTREME care
should be taken with regard to index location, etc.
Example:
* The following example will delete all records with the
* last name of "SMITH"
DO WHILE .T.
SEEK "SMITH" && continually SEEKing is necessary
&& because we are reseting the key
&& field (and all fields) to its
&& empty value, thus changing the
&& position within the index!!!!!
IF .NOT. FOUND()
EXIT
ENDIF
IF .NOT. VS_DelRec()
VS_DIE("Couldn't delete a record!")
ENDIF
ENDDO
Usage:
See Also:
VS_AddRec()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 47 -
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 48 -
VS_DictPath() Returns the path for a given database file
Description:
VS_DictPath() will return the path for a given database name, as it
exists in the data dictionary.
Syntax:
c_Path = VS_DictPath( c_DbfName )
Pass:
c_DbfName is a character expression representing the database name
to locate.
Return:
c_Path is a character expression that will contain the full path
to a database file as it is defined in the data dictionary.
Notes:
Example:
c_Path = VS_DictPath( "VENDOR" )
Usage:
See Also:
STRUCT.NGO:Data
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 49 -
VS_DictStru() Returns a structure of a given database file
Description:
VS_DictStru() will return a structure of a database as a
multi-dimensional array (in the same format as dbStruct()).
Syntax:
a_DictStru = VS_DictStru( c_DbfName )
Pass:
c_DbfName is a character expression representing the database to
retrieve the structure for.
Return:
a_DictStru is a multi-dimensional array containing the structure
of the specified database. a_DictStru will be in the same format
as the array returned by dbStruct().
Notes:
Example:
a_DictStru = VS_DictStru( "VENDOR" )
Usage:
See Also:
Struct.Ngo:Data
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 50 -
VS_DictVar() Set the environment variable that VS_OpenDbf() use
Description:
VS_OpenDbf() normally looks for the data dictionary in the default
directory unless you have an environment variable DATADICT (ex: SET
DATADICT=D:\DATAPATH\) declared. VS_DictVar() allows you to
change/read the environment variable that VS_OpenDbf() will use.
Syntax:
c_CurrentVar = VS_DictVar( [c_NewVariable] )
Pass:
c_NewVariable is an optional character expression that should
contain the name of the environment variable you want VS_OpenDbf() to
use.
Return:
c_CurrentVar is a character expression that will contain the name
of the current environment variable that VS_OpenDbf() uses for
determining the location of your data dictionary.
Notes:
Example:
c_OldVar = VS_DictVar( "MYDICT" )
...
VS_OpenDbf( "MYFILE" )
...
VS_DictVar( c_OldVar )
...
Usage:
VS_DictVar() allows you to set a different environment variable for
each seperate application that you use.
See Also:
VS_OpenDbf()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 51 -
VS_Die() Alert the user of a serious error
Description:
VS_Die() will display up to three lines of text as provided by the
programmer. It will also display the message "Program Execution
Halted". It will then EXIT after the user presses a key. VS_Die()'s
main use is to provide a way to inform the user of an error in program
operation before shutting down.
Syntax:
VS_Die( c_Msg1, [c_Msg2], [c_Msg3] )
Pass:
c_Msg1 is a character expression that should contain the first
line of text to show the user.
c_Msg2 is an optional character expression that should contain the
second line of text to show the user.
c_Msg is an optional character expression that should contain the
third line of text to show the user.
Return:
VS_Die() does not return! It will issue a QUIT command.
Notes:
Example:
IF error = .T.
VS_DIE("An Error Got You!!!", "Better Luck Next Time", "This will
be line three")
ENDIF
Usage:
VS_Die() is a quick and dirty way to leave your application after
telling the user some important message (such as why the shut down was
necessary).
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 52 -
VS_Dim() Dim an area of the screen
Description:
VS_Dim() will dim a rectangluar area of the screen for use as shadows,
etc.
Syntax:
VS_Dim( n_Top, n_Left, n_Bottom, n_Right )
Pass:
n_Top is a numeric value representing the top row of the
rectangular region of the screen to dim.
n_Left is a numeric value representing the left column of the
rectangular region of the screen to dim.
n_Bottom is a numeric value representing the bottom row of the
rectangular region of the screen to dim.
n_Right is a numeric value representing the right column of the
rectangular region of the screen to dim.
Return:
VS_Dim() always returns NIL
Notes:
Example:
VS_Dim(5,5,20,75)
Usage:
VS_Dim() is called by VS_Wind() to produce the "shadow" effect around
the windows.
See Also:
VS_Wind()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 53 -
VS_Dol2Str() Converts a number to a "dollar" string
Description:
VS_Dol2Str() takes a numeric amount (similar to that on most checks)
and converts it to a "long-hand" representation of that number. i.e.
124.34 becomes "One Hundred Twenty Four & 34/100 dollars"
Syntax:
c_String = VS_Dol2Str( n_Amount )
Pass:
n_Amount is the numeric value to be converted to a "dollar"
string.
Return:
c_String is a character expression representing the converted
value of n_Amount
Notes:
Example:
? VS_Dol2Str("129.32")
Output: One Hundred Twenty Nine & 32/100 Dollars
Usage:
VS_Dol2Str() is most commonly used when printing checks, etc.
See Also:
VS_Num2Txt()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 54 -
VS_Draft() Returns the codes to print in "draft" mode
Description:
VS_Draft() returns the printer control codes necessary to make the
currently selected printer, print in "DRAFT" mode.
Syntax:
c_Code = VS_Draft()
Pass:
Nothing
Return:
c_Code is a character expression that will contain the necessary
printer control codes to make the currently selected printer print in
"DRAFT" mode.
Notes:
VS_Draft() will call VS_InitPrtr() if a printer has not yet been
selected.
Example:
SET PRINT ON
? VS_Draft()+"This will be in draft mode!"
SET PRINT OFF
...
Usage:
See Also:
VS_Nlq() VS_InitPrtr() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 55 -
VS_DropScr() Drops the last screen saved with VS_GrabScr()
Description:
VS_DropScr() is used to drop the last screen saved with VS_GrabScr().
This is normaly used where you have more than one screen saved and
want to return to the main screen. This allows you to get rid of the
extra screen(s).
Syntax:
VS_DropScr()
Pass:
NOTHING
Return:
VS_DropScr() always returns NIL.
Notes:
Each time you call VS_DropScr() it will drop the last screen saved
with VS_GrabScr()
Example:
VS_DropScr()
Usage:
VS_DropScr() is most commonly used when you have a need to exit back
through your application because of an event such as an error, etc.
See Also:
VS_GrabScr() VS_PutScr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 56 -
VS_Dte2Txt() Converts a date expression to character
Description:
VS_Dte2Txt() converts a date expression to a specific character
format.
Syntax:
c_String = VS_Dte2Txt( d_Date, n_Style )
Pass:
d_Date is a date expression to convert to one of the two styles
listed below.
n_Style is the style in which to convert d_Date. The
following table shows all the valid styles.
────────────────────────────────────────────────────────────
n_Style Style Example
────────────────────────────────────────────────────────────
1 Month Date, Yead January 28, 1991
2 Date Month Year 28 JAN 91
────────────────────────────────────────────────────────────
Return:
c_String is a character expression representing the converted
date.
Notes:
More styles of conversion will be added in the near future.
Example:
? VS_Dte2Txt( CTOD("01/28/91"), 1)
Output: January 28, 1991
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 57 -
VS_EatKeys() Stops user from bypassing VALID clause w/PgDn
Description:
VS_EatKeys() will "eat" the keys "PgDn" and "Ctrl-W" thus prohibiting
your users from using these keys to bypass VALID clauses further down
in a GET/READ.
Syntax:
... VALID VS_EatKeys( @l_Eating )
Pass:
l_Eating is a logical expression that allows VS_EatKeys() to
communicate with other calls to VS_EatKeys().
Return:
VS_EatKeys() will return a logical value of .T. and will stuff the
keyboard with ASCII character 13 to skip to the next GET/VALID clause
if the user tried to terminate the READ by pressing PgDn or Ctrl-W.,
otherwise it will simply return .T.
Notes:
VERY IMPORTANT!!!
If you are going to use VS_EatKeys() for one GET, you MUST use it for
all GETs within the READ!!! You can stack it in addition to your
other VALID clauses using .AND., .OR. and .NOT.
Example:
l_Eating = .F.
@ 05,10 SAY "Date: " GET d_Today VALID VS_EatKeys(@l_Eating)
@ 10,10 SAY "Customer Code: " GET c_CustCode ;
VALID GoodCode() .AND. VS_EatKeys(@l_Eating)
@ 20,20 SAY "Something" GET c_SomeThing VALID VS_EatKeys(@l_Eating)
READ
...
...
Usage:
VS_EatKeys() allows the programmer to ensure that every VALID clause
is processed by disallowing the user to PgDn or Ctrl-W out of a READ.
See Also:
VS_NoOther() VS_NotEmpty() VS_NotNeg() VS_NotPos() VS_NotZero()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 58 -
VS_Edit() Emulates the dBASE III+ "Edit" command
Description:
VS_Edit() emulates the dBASE III+ "Edit" command by allowing the user
to page back and forth through the database records and optionally
edit them.
Syntax:
n_Key = VS_Edit( l_Index )
Pass:
l_Index is a logical expression that should contain .T. if
database is indexed otherwise it should contain .F.
Return:
n_Key is a numeric value representing the INKEY() value of last
key pressed by user.
Notes:
Example:
TEXTSHELL() && Display all the background stuff
DO WHILE .T.
DISPFLDS() && Display fields for current record
n_Value = VS_EDIT(.T.)
DO CASE
CASE n_Value = 13 && [Return]
EDITPROG() && Edit current record
CASE n_Value = 22 && [Insert]
ADD_PROG() && Add a new record
CASE n_Value = 27 && [Escape]
EXIT
ENDCASE
ENDDO
Usage:
VS_EDIT() is very useful for working with "flat" databases in that
VS_EDIT() controls all the moving around inside your database and will
handle SEEKs based on a pressed key, etc.
Valid keys from with VS_EDIT()
----------------------------
[HOME] - Move to first record
[END] - Move to last record
[PGUP] - Move to previous record
[PGDN] - Move to next record
Any AlphaNumeric character invokes a SEEK to the first record
beginning with the pressed key (provided the database has an open
index and l_Index is .T.).
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 59 -
Any other key causes VS_EDIT() to exit and return the INKEY() value of
the pressed key to the calling program.
It is your job as the programmer to LOOP to display the records. i.e.
VS_EDIT() will return a value of zero for the four keys listed above
(HOME, END, PGUP, PGDN). If your calling program receives a value of
zero from VS_EDIT() it should merely loop and display the current
record.
See Also:
VS_Pick()*
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 60 -
VS_ElapDays() Determine elapsed days between two "date/time"
Description:
VS_ElapDays() allows you to determine the number of elapsed days
between two "date/time" numeric values.
Syntax:
n_Days := VS_ElapDays( n_DT1, n_DT2 )
Pass:
n_DT1 is a numeric "date/time" value as returned by VS_DateTime()
n_DT2 is a numeric "date/time" value as returned by VS_DateTime()
Return:
n_Days is numeric value that will contain the number of days
between n_DT1 and n_DT2.
Notes:
Example:
n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )
n_DT2 = VS_DateTime( CTOD("01/10/91"), TIME() )
? VS_ElapDays( n_DT1, n_DT2 )
Usage:
See Also:
VS_ElapHours() VS_ElapMins() VS_ElapSecs()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 61 -
VS_ElapHours() Determine elapsed hours between two "date/time"
Description:
VS_ElapHours() allows you to determine the number of elapsed hours
between two "date/time" numeric values.
Syntax:
n_Hours := VS_ElapHours( n_DT1, n_DT2 )
Pass:
n_DT1 is a numeric "date/time" value as returned by VS_DateTime()
n_DT2 is a numeric "date/time" value as returned by VS_DateTime()
Return:
n_Hours is numeric value that will contain the number of hours
between n_DT1 and n_DT2.
Notes:
Example:
n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )
n_DT2 = VS_DateTime( CTOD("01/10/91"), TIME() )
? VS_ElapHours( n_DT1, n_DT2 )
Usage:
See Also:
VS_ElapDays() VS_ElapMins() VS_ElapSecs()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 62 -
VS_ElapMins() Determine elapsed minutes between two "date/time"
Description:
VS_ElapMins() allows you to determine the number of elapsed minutes
between two "date/time" numeric values.
Syntax:
n_Mins := VS_ElapMins( n_DT1, n_DT2 )
Pass:
n_DT1 is a numeric "date/time" value as returned by VS_DateTime()
n_DT2 is a numeric "date/time" value as returned by VS_DateTime()
Return:
n_Mins is numeric value that will contain the number of minutes
between n_DT1 and n_DT2.
Notes:
Example:
n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )
n_DT2 = VS_DateTime( CTOD("01/10/91"), TIME() )
? VS_ElapMins( n_DT1, n_DT2 )
Usage:
See Also:
VS_ElapDays() VS_ElapHours() VS_ElapSecs()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 63 -
VS_ElapSecs() Determine elapsed seconds between two "date/time"
Description:
VS_ElapSecs() allows you to determine the number of elapsed seconds
between two "date/time" numeric values.
Syntax:
n_Secs := VS_ElapSecs( n_DT1, n_DT2 )
Pass:
n_DT1 is a numeric "date/time" value as returned by VS_DateTime()
n_DT2 is a numeric "date/time" value as returned by VS_DateTime()
Return:
n_Secs is numeric value that will contain the number of seconds
between n_DT1 and n_DT2.
Notes:
Example:
n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )
n_DT2 = VS_DateTime( CTOD("01/10/91"), TIME() )
? VS_ElapSecs( n_DT1, n_DT2 )
Usage:
See Also:
VS_ElapDays() VS_ElapHours() VS_ElapMins()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 64 -
VS_Encrypt() Encrypt a string
Description:
VS_Encrypt() will encrypt a character expression so it can not be
used/viewed without the appropriate key.
Syntax:
c_Encrypted = VS_Encrypt( c_String, n_Key )
Pass:
c_String is a character expression containing the value to
encrypt.
n_Key is a numeric value containing the "lock key" that
VS_Encrypt() should use when creating the encrypted version of
c_String
Return:
c_Encrypted is a character expression containing the encrypt value
of c_String.
Notes:
To properly decrypt a string, you must use the same n_Key!!
Example:
REPLACE SECURITY->PASSWORD WITH VS_Encrypt( "ABCDEFGH", 5208 )
...
..
Usage:
VS_Encrypt() is used to keep your data from falling into the wrong
hands/eyes. If you encrypt your data, the only way it can be viewed
is if the viewing person knows the proper value you used for
n_Key.
See Also:
VS_Decrypt()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 65 -
VS_EndText() Restores screen to status before VS_Text()
Description:
VS_EndText() restores the screen to the status prior to the last call
to VS_Text().
Syntax:
VS_EndText()
Pass:
Nothing
Return:
VS_EndText() always returns NIL
Notes:
You may also use VS_PutScrn() in place of VS_EndText()
Example:
VS_Text(2,"Please wait while printing...")
DO RPT_PRG
VS_EndText()
Usage:
VS_EndText() should be "balanced" with calls to VS_Text() (just like
VS_GrabScr() and VS_PutScr()).
See Also:
VS_Text() VS_GrabScr() VS_PutScr() VS_DropScr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 66 -
VS_FLock() Locks the currently selected database
Description:
VS_FLock() locks the currently selected database file or notifies the
user if unsuccessful.
Syntax:
l_Success = VS_FLock()
Pass:
Nothing
Return:
l_Success is a logical expression that will be set to .T. if
successful, otherwise .F.
Notes:
Example:
BEGIN SEQUENCE
IF .NOT. VS_FLOCK()
ac_msg[1] = "Unable to lock current file"
ac_msg[2] = "Operation aborted"
VS_MSG(ac_msg,2,"","")
INKEY(5)
BREAK
ENDIF
...
END SEQUENCE
Usage:
VS_FLock() will try to lock the currently selected database file. If
it is unsuccessful, a non-screen destructive message stating "Waiting
for busy network. Press any key to abort." will appear on the screen
and VS_FLock() will continue attempting to lock the currently selected
database file. If the user aborts the operation by pressing a key,
VS_FLock() will return a logical value of false. If VS_FLock()
returns a value of false, it is your job as the programmer to abort
the operation and recover properly.
See Also:
VS_FakeLck VS_Append() VS_RLock() VS_Use() VS_AddRec() VS_DelRec()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 67 -
VS_FakeLck Simulates a network lock
Description:
VS_FakeLck simulates a network lock for runtime testing of program
logic associated with network file operations.
Syntax:
SET KEY n_Key TO VS_FAKELCK
Pass:
Nothing
Return:
Nothing
Notes:
Example:
To see VS_FAKELCK work, set a key to activate it (I like ALT-L). Then
when your application is running, press ALT-L at some "wait-state". A
non-screen destructive message will appear telling you that the lock
has been turned on or off. From this point on (until you turn the
lock off again) the network functions in VERNSIX.LIB will all act as
though they have been unsuccessful.
i.e. SET KEY 294 TO VS_FAKELCK
Usage:
VS_FAKELCK will force all of the VERNSIX.LIB network functions to act
as though they were unsuccessful. This is useful for testing
your program logic to recover from such failures.
See Also:
VS_APPEND() VS_FLOCK() VS_RLOCK() VS_USE()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 68 -
VS_FileSel() Queries user for filename matching wildcard
Description:
VS_FileSel() allows you to query the user for a file name matching a
wildcard specification. The user will be able to move a light bar to
the filename that he/she wants to select within a pop-up non-screen
destructive window.
Syntax:
c_FileName = VS_FileSel( c_WildCard, n_Top, n_Left, n_MaxFiles,
c_Title, c_Footnote )
Pass:
c_WildCard is a character expression representing the wildcard of
files to display.
n_Top is a numeric value for the top row of the window.
n_Left is a numeric value for the left column of the window.
n_MaxFiles is a numeric value representing the maximum number of
files to display in the window.
c_Title is a character expression to be displayed at the top of
the window (offset to the left).
c_Footnote is a character expresstion to be displayed at the
bottom of the window (offset to the right).
Return:
c_FileName is a character expression containing the filename the
user selected
Notes:
Example:
c_FrmName = VS_FILESEL( "*.FRM", 5, 5, 15, "", "" )
IF .NOT. EMPTY(c_FrmName)
REPORT FORM &c_FrmName TO PRINT
ENDIF
Usage:
See Also:
VS_WIND()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 69 -
VS_Filt() Interactively build a filter
Description:
VS_Filt() provides a non-screen destructive user interface to allow
the user to select a list of fields, logical connectives and
comparison constants from pop-up lightbar windows.
Syntax:
c_Filter = VS_Filt()
Pass:
Nothing
Return:
c_Filter is a character expresstion that will contain the desired
filter (blank if the user specified "no filter").
Notes:
Example:
c_Filter = VS_FILT()
IF EMPTY(c_Filter)
c_Filter = ".T."
ENDIF
DO WHILE &c_Filter
.
.
.
SKIP
ENDDO
Usage:
VS_Filt() is designed to provide the uninitiated user with an easy
interface to "filter" specification building. It is database
independent and limits the choices available in the light bar menus to
those that are applicable to the variable type selected. As the user
selects fields, relational operators and comparison constants, the
string VS_Filt() builds is also displayed on the screen.
VS_Filt() alone is not a powerful function, but when combined with the
macro substitution capabilities of Clipper, the two become very
powerful indeed. The string returned by VS_Filt() is suitable for
macro subsitution in the SET FILTER TO command as well as any FOR
clause in any Clipper command supporting that clause (such as REPORT,
SORT, COPY, LIST, DO WHILE, etc.)
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 70 -
VS_FootNote() Sets the footnote for VS_Text()
Description:
VS_FootNote() sets the footnote that VS_Text() will use for the
windows on subsequent calls.
Syntax:
c_OldFootNote = VS_FootNote( c_NewFootNote )
Pass:
c_NewFootNote is a character expression that should contain the
footnote that you want VS_Text() to use for the windows.
Return:
c_OldFootNote is a character expression that will contain the old
footnote that VS_Text() used for windows.
Notes:
When VS_Text() is first called c_NewFootNote is assumed to be a
null string.
Example:
c_OldFootNote = VS_FootNote( "Bop a key when ready" )
VS_Text( 3, "Any day now!" )
...
VS_EndText()
VS_FootNote( c_OldFootNote ) // Restore it!
...
Usage:
See Also:
VS_Text() VS_Title()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 71 -
VS_FormFeed() Returns the form feed character for printer
Description:
VS_FormFeed() returns the control codes to make the selected printer
advance to the top of the next page.
Syntax:
c_FormFeed = VS_FormFeed()
Pass:
NOTHING
Return:
c_FormFeed is a chacter expression that will contain the control
codes needed to advance the paper to the top of the next page.
Notes:
If a printer has not yet been selected, VS_FormFeed() will call
VS_InitPrtr()
Example:
SET PRINT ON
? VS_FormFeed()
SET PRINT OFF
Usage:
IF PROW() => VS_LinesPg()
VS_FormFeed()
ENDIF
See Also:
VS_InitPrtr() VS_LinesPg()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 72 -
VS_GetDate() Returns a date expression from a "date/time" value
Description:
VS_GetDate() allows you to retrieve a date expression from a
"date/time" numeric value.
Syntax:
d_Date = VS_GetDate( n_DateTime )
Pass:
n_DateTime is a numeric "date/time" value as returned by
VS_DateTime().
Return:
d_Date is a date expression of the numeric date/time value.
Notes:
Example:
n_Start = VS_DateTime( DATE(), TIME() )
? VS_GetDate( n_Start )
Usage:
See Also:
VS_DateTime() VS_GetTime()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 73 -
VS_GetTime() Returns a time expression from a "date/time" value
Description:
VS_GetTime() allows you to retreive a time expression from a numeric
"date/time" value as returned by VS_DateTime().
Syntax:
c_Time = VS_GetTime( n_DateTime )
Pass:
n_DateTime is a numeric "date/time" value as returned by
VS_DateTime().
Return:
c_Time is a character expression containing the date of a numeric
"date/time" value. c_Time will be in the same format as the
string returned by TIME().
Notes:
Example:
n_Start = VS_DateTime(DATE(),TIME())
? VS_GetTime( n_Start )
Usage:
See Also:
VS_DateTime() VS_GetDate()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 74 -
VS_GrabScr() Captures the contents of the screen
Description:
VS_GrabScr() is actually nothing more than a greatly improved version
of Clipper's 'SAVE SCREEN' command. VS_GrabScr() captures not only the
screen image, but also the screen attributes, cursor location, etc.
VS_GrabScr() is designed to be used in conjunction with VS_PutScr()
and VS_DropScr().
Syntax:
VS_GrabScr()
Pass:
Nothing
Return:
VS_GrabScr() always returns NIL.
Notes:
Example:
VS_GRABSCR()
ac_msg[1] = "Please wait while printing"
VS_MSG(ac_msg,1,"","")
DO RPT_PRGM
VS_PUTSCR()
Usage:
Clipper's SAVE SCREEN command doesn't quite fit the bill for most
screen save operations. i.e. it doesn't save the cursor location or
screen attributes (colors). VS_GRABSCR() saves all of these very
important aspects of your screen and will restore them properly when
you call VS_PUTSCR().
See Also:
VS_DropScr() VS_PutScr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 75 -
VS_Green() Returns the codes to turn "Green" on
Description:
VS_Green() returns the appropriate control codes to make the currently
selected printer print in green.
Syntax:
c_CtrlCode = VS_Green()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print in green.
Notes:
If a printer has not yet been selected, VS_Green() will call
VS_InitPrtr().
Note:
Non-Color printers will be uneffected by the use of this function.
Example:
SET PRINT ON
? VS_Green() + "This will be in green"
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 76 -
VS_Help() Context sensitive help for each variable
Description:
VS_Help provides a non-screen destructive help window based on the
calling program and variable name. Help screens can be added at any
time after the program is compiled through the use of the VS_MakeHlp
procedure. Help windows are COMPLETELY CONTEXT SENSITIVE.
Syntax:
SET KEY n_Key TO VS_HELP
Pass:
Nothing
Return:
Nothing
Notes:
You can override the program and variable name by changing the values
of gc_HelpPrg and gc_HelpVar.
Example:
SET KEY 28 TO VS_HELP
Usage:
VS_HELP allows the user to request a help window to be displayed that
is specifically for the location that he/she is at within your
application.
See Also:
VS_InitHelp() VS_MakeHlp()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 77 -
VS_HelpDbf() Returns the current help database
Description:
VS_HelpDbf() allows you to query for the current HELP database.
Syntax:
c_HelpDbf = VS_HelpDbf()
Pass:
Nothing
Return:
c_HelpDbf is a character expression that will contain the current
help database name.
Notes:
VS_HelpDbf() does NOT allow you to change the current help database
name. You must use VS_InitHelp() to change the help database name.
Example:
? VS_HelpDbf()
Usage:
See Also:
VS_InitHelp()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 78 -
VS_HelpPrg() Override PROCNAME() passed w/hotkey
Description:
VS_HelpPrg() allows the programmer to override the default PROCNAME()
passed to HELP and MAKEHLP functions by a hotkey.
Syntax:
VS_HelpPrg( c_NewProc )
Pass:
c_NewProc is a character expresion that should contain the name to
use in place of the standard PROCNAME() passed to VS_HELP() and
VS_MAKEHLP() by a hotkey press.
Return:
Nothing
Notes:
Example:
Usage:
See Also:
VS_Help() VS_MakeHlp() VS_HelpVar()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 79 -
VS_HelpVar() Override READVAR() passed w/hotkey
Description:
VS_HelpVar() allows the programmer to override the default READVAR()
value passed to VS_HELP() and VS_MAKEHLP().
Syntax:
VS_HelpVar( c_NewVar )
Pass:
c_NewVar is a character expression that should contain the value
to use in place of the default READVAR().
Return:
Nothing
Notes:
Example:
Usage:
See Also:
VS_Help() VS_MakeHlp() VS_HelpPrg()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 80 -
VS_InitHelp() Opens necessary help files (DBF, DBT & NTX)
Description:
VS_InitHlp() opens the necessary files (DBF, DBT and N?X) in the next
available work area, for VS_Help to work properly.
Syntax:
l_Success = VS_InitHlp( [c_KeyFile], [c_HelpDbf] )
Pass:
c_KeyFile is an optional character expression that should contain
the filename required for VS_MakeHlp to work properly. If omitted,
c_FileName defaults to "VERNSIX.DVP"
c_HelpDbf is an optional character expression that should contain
the name of the database that VS_Help() and VS_MakeHlp() will use to
store/retrieve help screens.
Return:
l_Success is a logical expression which will be .T. if successful
otherwise .F.
Notes:
c_KeyFile can be used to inhibit your users from create/changing
the help screens in your application.
Example:
l_Success = VS_InitHelp("yourfile.key","your_dbf")
Usage:
See Also:
VS_Help() VS_MakeHlp() VS_HelpDbf()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 81 -
VS_InitPrtr() Select/add/edit a printer configuration
Description:
VS_InitPrtr() allows the user to select, add, or edit the control
codes for a printer from a pick list of all "known" printers. The
user can add additional and/or update existing printer control codes.
Syntax:
l_Success = VS_InitPrtr( [l_Return] )
Pass:
l_Return is a logical expression that should be set to .T. if you
want VS_InitPrtr() to return immediately if the user has already
selected a printer. If omitted or if set to .F., VS_InitPrtr() will
ask the user to select (and optionally define) a printer.
Return:
l_Success is a logical expression that will be set to .T. if the
user successfully selected a printer, otherwise it will be set to .F.
Notes:
You may provide VS_InitPrtr() as a menu selection, or it will be
presented to the user automatically the first time one of the printer
functions is used.
Example:
VS_InitPrtr()
Usage:
VS_InitPrtr() presents a pick list of the printers contained in
PRINTERS.DBF. The user can press [F10] to update the associated codes
or can press [Insert] to add a new printer definition.
See Also:
STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 82 -
VS_InitVern() Initializes the Vern Six ToolBox
Description:
VS_InitVern() initializes the variables used by the various functions
in the Vern Six Clipper ToolBox as well as sets the colors from the
configuration database. VS_InitVern() will also create the
configuration database if it doesn't exist.
Syntax:
l_Success = VS_InitVern( [c_FileName] )
Pass:
c_FileName is an optional character expression that should contain
the name of the configuration database without the ".DBF" extension.
If c_FileName is omitted, it defaults to "VERN_CFG".
Return:
l_Success is a logical expression which be set to .T. if
successful otherwise it will be .F.
Notes:
Example:
l_Success = VS_InitVern( "MyFile" )
Usage:
VS_InitVern() MUST be called prior to any of the other functions
in VERNSIX.LIB. There are several global variables that are created
by VS_InitVern() that you should study.
See Also:
VS_Color()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 83 -
VS_Initials() Returns the user's initials
Description:
VS_Initials() is designed to be used in concert with VS_Login(). If
the user successfully logs in, VS_Initials() will return his/her
initials as a three character string.
Syntax:
c_Initials = VS_Initials()
Pass:
Nothing
Return:
c_Initials is a three character expression that will contain the
user's initials, if he/she has successfully logged in with VS_Login()
Notes:
VS_Login() MUST be called prior to using VS_Initials()
Example:
IF VS_Login()
QOut( "Your initials are... "+VS_Initials() )
ENDIF
...
Usage:
See Also:
VS_Login() VS_MntPwd() VS_UserName() VS_ChkAuth()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 84 -
VS_Inkey() Replacement for INKEY() - make it into a wait
Description:
VS_Inkey() is a direct replacement function for Clipper's own INKEY()
function. It operates in exactly the same fashion as INKEY() but
VS_INKEY() is a considered a wait state whereas INKEY() is not.
Syntax:
n_Key = VS_Inkey( n_Seconds )
Pass:
n_Seconds is a numeric value that represents the number of seconds
to wait for a keypress.
Return:
n_Key is a numeric value that will contain the INKEY() value for
the key the user pressed.
Notes:
Example:
Usage:
VS_Inkey() should be used in place of INKEY()!
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 85 -
VS_Ital() Print a string in "Italics" mode
Description:
VS_Ital() returns the appropriate control codes to make the currently
selected printer print in "Italics" mode.
Syntax:
c_CtrlCode = VS_Ital( c_String )
Pass:
c_String is a character expression containing the value to print.
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print c_String in "Italics" mode.
Notes:
If a printer has not yet been selected, VS_Ital() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_Ital([This will be in "Italics" mode.])
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_ItalOn() VS_ItalOff() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 86 -
VS_ItalOff() Returns the codes to turn "Italics" off
Description:
VS_ItalOff() returns the necessary codes to make the currently
selected printer stop printing in "Italics" mode.
Syntax:
c_CtrlCode = VS_ItalOff()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that will contain the
necessary codes to make the currently selected printer stop printing
in "Italics" mode.
Notes:
If a printer has not yet been selected, VS_ItalOff() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_ItalOn()
? [This is in "Italics"]
? [So is this]
? VS_ItalOff()
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_Ital() VS_ItalOn() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 87 -
VS_ItalOn() Returns the codes to turn "Italics" on
Description:
VS_ItalOn() returns the necessary codes to make the currently selected
printer print in "Italics" mode.
Syntax:
c_CtrlCode = VS_ItalOn()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that will contain the
necessary codes to make the currently selected printer print in
"Italics" mode.
Notes:
If a printer has not yet been selected, VS_ItalOn() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_ItalOn()
? [This will be in "Italics" mode]
? [So will this]
? VS_ItalOff()
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_Ital() VS_ItalOff() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 88 -
VS_LineFeed() Returns the control codes to advance one line
Description:
VS_LineFeed() returns the control codes to make the currently selected
printer advance the paper one line.
Syntax:
c_LineFeed = VS_LineFeed()
Pass:
NOTHING
Return:
c_LineFeed is a character expression that will contain the control
codes to make the currently selected printer advance the paper one
line.
Notes:
If a printer has not yet been selected VS_LineFeed() will call
VS_InitPrtr()
Example:
SET PRINT ON
? "This is on the first line" + VS_LINEFEED() + "This will be on the
next line"
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_FormFeed()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 89 -
VS_LinesPg() Returns the lines per page for the printer
Description:
VS_LinesPg() returns the number of lines per page for the currently
selected printer.
Syntax:
n_Lines = VS_LinesPg()
Pass:
NOTHING
Return:
n_Lines is a numeric value that will contain the number of lines
per page for the currently selected printer.
Notes:
If a printer has not yet been selected VS_LinesPg() will call
VS_InitPrtr()
Example:
IF PROW() => VS_LinesPg()
VS_FormFeed()
ENDIF
Usage:
VS_LinesPg() is primarily used to determine when it necessary to issue
a form feed during a report. i.e. If the we are past the maximum
number of lines per page... issue a form feed.
See Also:
VS_InitPrtr() VS_FormFeed()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 90 -
VS_Login() Forces a user to provide a correct password
Description:
VS_Login() should be used to ensure the user is who he says he is.
VS_Login() will prompt the user for his initials and password (as
defined in SECURITY.DBF). If the user cannot provide a proper
password, it is your job as the programmer to abort your program, etc.
Syntax:
l_Success = VS_Login()
Pass:
Nothing
Return:
l_Success is a logical expression that will be set to .T. if the
user successfully entered valid initialsand their associated password,
otherwise it will be .F.
Notes:
The use of VS_Login() is mandatory if you plan to use the VS_ChkAuth()
function.
Example:
IF .NOT. VS_Login()
VS_DIE("Invalid Login Attempt. Please call D.P. Services!")
ENDIF
...
Usage:
VS_Login() provides you (the programmer) with a security measure for
your application.
See Also:
VS_MntPwd() VS_ChkAuth() STRUCT.NGO:Security VS_Initials()
VS_UserName()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 91 -
VS_MakeHlp() Create context help screens after compile
Description:
VS_MakeHlp allows the developer to design a help screen after the
application has been compiled. Help screens can be changed at any
time after the compilation of the program as the screens are kept in a
database file.
Syntax:
SET KEY n_Key TO VS_MakeHlp
Pass:
Nothing
Return:
Nothing
Notes:
In order for VS_MakeHlp to work you must first call VS_InitHlp() and
the filename you specified in your call to VS_InitHlp() must exist in
the default directory. This "key file" is so your users will not be
able to modify the help screens after the application is finished. To
go back and edit help screens, merely create the "key file" and invoke
VS_MakeHlp.
Example:
SET KEY 291 TO VS_MAKEHLP && ALT-H
Usage:
When this routine is called, you will see a box appear on the screen.
You should size the box using the technique described in VS_Coord. At
this point you may edit the help text as you wish. When you are done,
press Ctrl-W.
See Also:
VS_Help() VS_InitHelp() VS_Coord()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 92 -
VS_Menu() "Pull-Down" menu system
Description:
VS_Menu() provides the programmer with a very fast and efficient means
of producing "pull-down" menus for their users.
Syntax:
n_Option = VS_MENU( a_Options, ac_Title )
Pass:
a_Options is an nested array that contains information about each
option on your menu. a_Options has the following structure...
--------------------
Pos Meta Symbol
--------------------
1 c_PullDownName
2 a_PullDownOpts
c_PullDownName is a character expression that should contain the
name of the pulldown menu for that element in a_Options.
a_PullDownOpts is a sub-array that contains information about each
individual pulldown menu options.
a_PullDownOpts has the following structure...
---------------------
Pos Meta Symbol
---------------------
1 c_OptionName
2 b_OptionBlock
c_OptionName is a character expression that should contain the
name of the option on the pulldown.
b_OptionBlock is a code block that will be EVALuated if the user
selects this option.
ac_Title is an array of character expressions to display at the
top of the menu as a "title".
Return:
VS_Menu() always returns NIL
Notes:
VERY IMPORTANT!!!!
VS_Menu() is NOT the same as the older version of V_MENU()!! Things
have changed drastically.
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 93 -
Example:
FUNCTION MAIN
LOCAL a_Menu := {}
LOCAL a_Options := {}
LOCAL ac_Title := {}
VS_InitVern()
AADD( ac_Title, "" )
AADD( ac_Title, "Sample Menu System" )
AADD( ac_Title, DTOC(DATE()) )
AADD( ac_Title, "" )
a_Options : {}
AADD( a_Options, { "Clients", {||Client() } } )
AADD( a_Options, { "Products", {||Product()} } )
AADD( a_Options, { "SalesPersons", {||Sales() } } )
AAD( a_Menu, { "Maintenance", a_Options } )
a_Options := {}
AADD( a_Options, { "Client List", {||R_Client() } } )
AADD( a_Options, { "Product List", {||R_Product()} } )
AADD( a_Options, { "Sales Tally", {||R_Tally() } } )
ADD( a_Menu, {"Reports", a_Options } )
a_Options := {}
AADD( a_Options, {"Pack Databases", {||PackDbfs()}})
AADD( a_Options, {"Re-Inex", {||Ntx_Dbfs()}})
AADD( a_Menu, { "Utilities", a_Options } )
a_Options := {}
AADD( a_Options, {"Product Info",{||ProdInfo()} } )
AADD( a_Options, { "Quit", {||CleanUp() } } )
AADD( a_Menu, { "Other", a_Options } )
VS_Menu( a_Menu, ac_Title)
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 94 -
RETURN(NIL)
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 95 -
VS_MntPwd() Maintain/update SECURITY.DBF
Description:
VS_MntPwd() allows the SuperUser to update records in the
SECURITY.DBF file. NOTE: You should not allow this function to be
accessed by anyone other than the SuperUser as anyone who can
access this command can change everyone else's security rights and
priviledges.
Syntax:
VS_MntPwd()
Pass:
Nothing
Return:
VS_MntPwd() always returns NIL
Notes:
Example:
VS_MntPwd()
Usage:
VS_MntPwd() is where the Super User maintains the passwords, etc
for use with VS_Login().
See Also:
VS_Login() VS_ChkAuth() Struct.Ngo:Security VS_Initials()
VS_UserName()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 96 -
VS_Msg() Displays a message in a window
Description:
VS_Msg() displays a message in a window.
Syntax:
VS_Msg( ac_Text, n_Elements, c_Title, c_FootNote, [n_Top], [n_Left] )
Pass:
ac_Text is an array of character expressions each representing a
line of text to display in the window.
n_Elements is a numeric value representing the number of elements
in ac_Text to display.
c_Title is a character expression to be displayed at the top of
the window (offset to the left)
c_FootNote is a character expression to be displayed at the bottom
of the window (centered)
n_Top is an optional numeric value for the top row of the window.
n_Left is an optional numeric value for the left column of the
window.
Return:
VS_Msg() always returns NIL
Notes:
Example:
ac_msg[1] = "This is line number one."
ac_msg[2] = "This is line number two."
VS_MSG(ac_msg,2,"Title","FootNote")
Usage:
VS_Msg() is most commonly used to display a message while the program
is busy doing something else. i.e.packing a database, printing a
report, etc.
See Also:
VS_GrabScr() VS_PutScr() VS_DropScr() VS_Wind()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 97 -
VS_NetEdit() Set the Network Edit feature of VS_EDIT()
Description:
VS_NetEdit() allows the programmer to update the "continuous network
read" feature of VS_Edit(). When activated, VS_Edit() will
continually update the information it is displaying to the user based
on network changes to the database.
Syntax:
VS_NetEdit( l_Mode )
Pass:
l_Mode is a logical expression that should be set to .T. if you
want VS_Edit() to continually update the data being displayed,
otherwise .F. The default is .F.
Return:
Nothing
Notes:
Example:
Usage:
See Also:
VS_Edit()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 98 -
VS_NewScrn() Draws a new "pretty" screen
Description:
VS_NewScrn() is a quick and dirty little function to clear the screen
and paint a "pretty" background.
Syntax:
VS_NewScrn()
Pass:
Nothing
Return:
VS_NewScrn() always returns NIL
Notes:
Example:
VS_NewScrn()
Usage:
VS_NewScrn() is designed to save you some time when painting a "new"
screen. Its prettier than the normal CLEAR statement in Clipper and
less time consuming than painting each screen manually.
See Also:
VS_TxtColr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 99 -
VS_Nlq() Returns the codes to print in "NLQ" mode
Description:
VS_Nlq() returns the printer control codes necessary to make the
currently selected printer, print in "NLQ" mode.
Syntax:
c_Code = VS_Nlq()
Pass:
Nothing
Return:
c_Code is a character expression that will contain the necessary
printer control codes to make the currently selected printer print in
"NLQ" mode.
Notes:
VS_Nlq() will call VS_InitPrtr() if a printer has not yet been
selected.
Example:
SET PRINT ON
? VS_Nlq()+"This will be in nlq mode!"
SET PRINT OFF
...
Usage:
See Also:
VS_Draft() VS_InitPrtr() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 100 -
VS_NoOther() Ensures that a key is unique
Description:
VS_NoOther() is a VALID function that the programmer can use to make
certain that the user has not entered a duplicate database key during
a GET/READ scenario.
Syntax:
l_NoOther = VS_NoOther( KeyValue, [@l_Eating] )
Pass:
KeyValue is any valid expression that the represents the "SEEK"
value for the database key.
l_Eating is an optional logical expression that can be used in
place of VS_EatKeys().
Return:
l_Success is a logical expression that will be set to .T. if
KeyValue is NOT in the current database key, otherwise it will be
.F. If l_Success is set to .F., VS_NoOther() will present the
user with a cosmetically appealing pop-up warning message telling
him/her that the key is a duplicate.
Notes:
Example:
USE CUST INDEX CUST && Key== CUSTNO
c_CustNo = SPACE(5)
c_Company = SPACE(30)
@ 5,5 SAY "New Customer Number to add: " GET c_CustNo VALID
VS_NoOther(c_CustNo)
@ 10,5 SAY "Company Name? " GET c_Company
READ
...
Usage:
VS_NoOther() is a handy method of ensuring that duplicate keys are not
entered into your databases.
See Also:
VS_EatKeys() VS_NotEmpty() VS_NotNeg() VS_NotPos() VS_NotZero()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 101 -
VS_NotEmpty() VALID clause to make sure string is not empty
Description:
VS_NotEmpty() provides the programmer with a cosmetically appealing
"pop-up" validation box.
Syntax:
l_Valid = VS_NotEmpty( c_String, [@l_Eating] )
Pass:
c_String is a character expression that contains the string to
ensure is not empty.
l_Eating is an optional logical expression that can be used in
place of using VS_EatKeys().
Return:
l_Valid is a logical expression that will be set to .T. if
c_String is NOT empty, otherwise .F. If l_Valid is .F.,
VS_NotEmpty() will display a cosmetically appealing pop-up error box
telling the user that the value cannot be empty.
Notes:
VS_NotEmpty() is non-screen destructive.
Example:
c_Name = SPACE(40)
@ 10,10 SAY "Your Name? " GET c_Name VALID VS_NotEmpty(c_Name)
READ
...
Usage:
VS_NotEmpty() is used for the "art" of user interfacing. i.e. it
provides a pleasant way of informing the user why the VALID clause
failed.
See Also:
VS_EatKeys() VS_NotNeg() VS_NotPos() VS_NotZero()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 102 -
VS_NotNeg() VALID clause to ensure number is not negative
Description:
VS_NotNeg() provides the programmer with a cosmetically appealing
"pop-up" validation box.
Syntax:
l_Valid = VS_NotNeg( n_Value , [@l_Eating] )
Pass:
n_Value is a numeric value containing the number to ensure is not
negative.
l_Eating is an optional logical expression that can be used in
place of VS_EatKeys().
Return:
l_Valid is a logical expression that will be set to .T. if
n_Value is NOT negative, otherwise .F. If l_Valid is .F.,
VS_NotNeg() will display a cosmetically appealing pop-up error box
telling the user that the value cannot be negative.
Notes:
VS_NotNeg() is non-screen destructive.
Example:
n_Value = 0.00
@ 10,10 SAY "Enter a nmbr: " GET n_Value VALID VS_NotNeg(n_Value)
READ
...
Usage:
VS_NotNeg() is used for the "art" of user interfacing. i.e. it
provides a pleasant way of informing the user why the VALID clause
failed.
See Also:
VS_EatKeys() VS_NotEmpty() VS_NotPos() VS_NotZero()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 103 -
VS_NotPos() VALID clause to ensure number is not positive
Description:
VS_NotPos() provides the programmer with a cosmetically appealing
"pop-up" validation box.
Syntax:
l_Valid = VS_NotPos( n_Value , [@l_Eating] )
Pass:
n_Value is a numeric value containing the number to ensure is not
positive.
l_Eating is an optional logical expression that can be used in
place of VS_EatKeys().
Return:
l_Valid is a logical expression that will be set to .T. if
n_Value is NOT positive, otherwise .F. If l_Valid is .F.,
VS_NotPos() will display a cosmetically appealing pop-up error box
telling the user that the value cannot be positive.
Notes:
VS_NotPos() is non-screen destructive.
Example:
n_Value = 0.00
@ 10,10 SAY "Enter a nmbr: " GET n_Value VALID VS_NotPos(n_Value)
READ
...
Usage:
VS_NotPos() is used for the "art" of user interfacing. i.e. it
provides a pleasant way of informing the user why the VALID clause
failed.
See Also:
VS_EatKeys() VS_NotEmpty() VS_NotNeg() VS_NotZero()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 104 -
VS_NotZero() VALID clause to ensure number is not zero
Description:
VS_NotZero() provides the programmer with a cosmetically appealing
"pop-up" validation box.
Syntax:
l_Valid = VS_NotZero( n_Value , [@l_Eating] )
Pass:
n_Value is a numeric value containing the number to ensure is not
zero.
l_Eating is an optional logical expression that can be used in
place of VS_EatKeys().
Return:
l_Valid is a logical expression that will be set to .T. if
n_Value is NOT zero, otherwise .F. If l_Valid is .F.,
VS_NotZero() will display a cosmetically appealing pop-up error box
telling the user that the value cannot be zero.
Notes:
VS_NotZero() is non-screen destructive.
Example:
n_Value = 0.00
@ 10,10 SAY "Enter a nmbr: " GET n_Value VALID VS_NotZero(n_Value)
READ
...
Usage:
VS_NotZero() is used for the "art" of user interfacing. i.e. it
provides a pleasant way of informing the user why the VALID clause
failed.
See Also:
VS_EatKeys() VS_NotEmpty() VS_NotNeg() VS_NotPos()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 105 -
VS_NtxAll() Reindex all files listed in data dictionary
Description:
VS_NtxAll() will deleted and re-create all index files for all
databases listed in the data dictionary.
Syntax:
VS_NtxAll()
Pass:
Nothing
Return:
VS_NtxAll() always returns NIL
Notes:
This process may take quite some time!!
VS_NtxAll() assumes that all databases are currently closed!
Example:
VS_NtxAll()
Usage:
See Also:
VS_OpenDbf()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 106 -
VS_NtxDict() Returns the internal index stack as an array
Description:
VS_NtxDict() returns the internal index stack (maintained by
VS_OpenDbf() when it opens a file) as an array.
Syntax:
a_Index = VS_NtxDict()
Pass:
Nothing
Return:
a_Index is a multi-dimensional array that will contain an element
for each index file in the following format...
{ c_DbfName, c_NtxName }
Notes:
Example:
#define DBF_NAME 1
#define NTX_NAME 2
a_Index = VS_NtxDict()
FOR n_Cntr = 1 TO LEN(a_Index)
QOut( n_Cntr, a_Index[n_Cntr,DBF_NAME], a_Index[n_Cntr,NTX_NAME] )
NEXT n_Cntr
...
Usage:
VS_NtxDict() is primarily used in debugging and has very little other
value.
See Also:
VS_PrintNtx()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 107 -
VS_NtxList() Returns a list of all indexes for a database
Description:
VS_NtxList() allows the programmer to quickly obtain a list of all the
index files associated with a database currently defined in the data
dictionary.
Syntax:
ac_NtxList = VS_NtxList( c_DbfName )
Pass:
c_DbfName is a character expression that should contain the
database name to aquire the list of index files for.
Return:
ac_NtxList is an array of character expressions, each representing
the name of an index file associated with the specified database.
Notes:
Example:
Usage:
See Also:
VS_DbfList()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 108 -
VS_Num2Txt() Converts a numeric value to a string
Description:
VS_Num2Txt() converts a numeric value to a character value.i.e. 123
becomes "One-Hundred Twenty Three"
Syntax:
c_String = VS_Num2Txt( n_Amount )
Pass:
n_Amount is the numeric value to be converted. Digits to the right
of the decimal point are ignored.
Return:
c_String is a character expression representing the converted
value of n_Amount
Notes:
Example:
? VS_Num2Txt(32)
Output: Thirty Two
Usage:
VS_Num2Txt() is very similar to VS_Dol2Str() but does not format the
c_String to "dollars & cents"
See Also:
VS_Dol2Str()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 109 -
VS_OpenAll() Opens all the databases in the data dictionar
Description:
VS_OpenAll() opens all the files currently defined in your data
dictionary. WARNING: You will need to have enough DOS file handles to
use this function.
Syntax:
l_Success = VS_OpenAll()
Pass:
Nothing
Return:
l_Success is a logical expression that will be set to .T. if
VS_OpenAll() is successful, otherwise .F.
Notes:
BEWARE that this function assumes that no databases are currently
open!!
Example:
VS_OpenAll()
Usage:
See Also:
VS_OpenDbf() VS_OpenLst()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 110 -
VS_OpenDbf() Opens a DBF file and all its NTX files
Description:
VS_OpenDbf() uses a database dictionary to open a specified database
and all its associated index files.
Syntax:
l_Success = VS_OpenDbf( c_DbfName, [l_Exclusive], [c_Alias],
[c_Suffix] )
Pass:
c_DbfName is a character expression that contains the name of the
DBF file to open. No path or extension should be included. i.e.
"MYFILE" not "C:\DATA\MYFILE.DBF".
l_Exclusive is an optional logical expression which should be set
to .T. if c_DbfName is to be opened in exclusive mode, otherwise
it should be set to .F. If omitted, l_Exclusive defaults to .F.
c_Alias is an optional character expression that contains the
alias name for c_DbfName. If omitted, c_Alias defaults to the
same value as c_DbfName.
c_Suffix is an optional character expression that contains a
suffix that will be added to the end of c_DbfName. i.e. if
c_Suffix is "02" and c_DbfName was "CUST" then VS_OpenDbf()
would open the file called "CUST02".
Return:
l_Success is a logical expression that will be set to .T. if
VS_OpenDbf() was successful in opening the requested file, otherwise
it will be set to .F.
Notes:
You must have properly setup the database and index dictionaries.
Sample database and index dictionaries have been provided with this
library (_DICTFLD.DBF, _DICTHDR.DBF, and _DICTNTX.DBF). Please study
these examples to see how to properly setup a database/index
dictionary.
If the database file you requested does not exist, it will be created
(unless the the field called CREATE in _DICTHDR.DBF is set to .F.).
**************************************
*** WARNING!! EXTREMELY IMPORTANT ***
**************************************
Clipper v5.0x:
VS_OPENDBF() requires that you do not open any database file in
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 111 -
workarea 250. If you do, you will experience unpredictable results!
Example:
VS_OpenDbf( "CLIENTS" )
Usage:
VS_OpenDbf() is primarily used to allow several different database
applications to access common databases and maintain common index
files without having to re-compile and link each application.
In other words, the database structures and index keys are maintained
outside of **ALL** applications and thus can be used by all
applications.
Example: Let's assume that you are writing a program that maintains an
inventory database and your main file is called INVENT.DBF. You have
an index called INV_NMBR.NTX with a key of "PROD_CODE+WHSE".
Let's further assume that a co-worker of yours is writing a program
that produces a listing of inventory based on its sales volume.
He/She needs an index file called INV_VOL.NTX with a key of
"TOT_SALES+PROD_CODE".
All that needs to take place so that both index files are maintained
is that the index file and its key are added to the index dictionary.
In this fashion your inventory maintenance program will open and
maintain the index files needed by your co-worker and vice-versa.
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 112 -
VS_OpenDict() Open the data dictionary
Description:
VS_OpenDict() is used internally by several functions that use the
data dictionary. It's also available for your functions that need to
open the dictionary.
Syntax:
l_Success = VS_OpenDict( c_FileName )
Pass:
c_FileName is a character expression that must contain one of the
following values...
_DICTHDR, _DICTFLD, _DICTNTX
Return:
l_Success is a logical expression that will be set to .T. if
VS_OpenDict() was successful, otherwise it will be set to .F.
Notes:
Example:
IF VS_OpenDict("_DICTHDR")
DO WHILE .NOT. _DICTHDR->( EOF() )
Qout( _DICTHDR->DBF_NAME, _DICTHDR->DESC )
_DICTHDR->( dbSkip() )
ENDDO
ENDIF
...
Usage:
VS_OpenDict() is primarily used internally by several functions in the
Vern Six Clipper Toolbox.
See Also:
VS_CloseDict()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 113 -
VS_OpenLst() Open a list of databases
Description:
VS_OpenLst() opens a list of databases.
Syntax:
l_Success = VS_OpenLst( ac_DbfList )
Pass:
ac_DbfList is an array of character expressions each representing
a database to open.
Return:
l_Success is a logical expression that will be set to .T. if
VS_OpenLst() was successful, otherwise .F.
Notes:
Example:
IF .NOT. VS_OpenLst( {"DBF1","MYFILE"} )
VS_Die("oooooops!")
ENDIF
...
Usage:
See Also:
VS_OpenDbf()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 114 -
VS_Orange() Returns the codes to turn "Orange" on
Description:
VS_Orange() returns the appropriate control codes to make the
currently selected printer print in orange.
Syntax:
c_CtrlCode = VS_Orange()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print in orange.
Notes:
If a printer has not yet been selected, VS_Orange() will call
VS_InitPrtr().
Note:
Non-Color printers will be uneffected by the use of this function.
Example:
SET PRINT ON
? VS_Orange() + "This will be in orange"
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 115 -
VS_PackAll() Removes deleted records from all databases
Description:
VS_PackAll() will remove all deleted records in every database listed
in the data dictionary.
Syntax:
VS_PackAll()
Pass:
Nothing
Return:
VS_PackAll() always returns NIL
Notes:
This process may take quite some time!!
VS_PackAll() assumes that all databases are currently closed!
Example:
VS_PackAll()
Usage:
See Also:
VS_OpenDbf()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 116 -
VS_Palette() Set the active color palette
Description:
VS_Palette() allows the programmer to switch between the nine
available color palettes. Some functions in VERNSIX.LIB use a
specified palette i.e. VS_Help uses palette #2, Error messages are
displayed using palette #3, and network delays are shown using palette
#4. The programmer is free to use any and all of the nine available
palettes.
Syntax:
n_NewPalette = VS_Palette( n_Palette )
Pass:
n_Palette is a numeric value representing the desired color
palette. n_Palette must be in the range of 1 to 9.
Return:
n_NewPalette is a numeric expression that will contain the current
(or the new) palette number.
Notes:
In order to allow the user to configure the various palettes to
his/her taste, it is the programmer's job to select the appropriate
palette prior to calling VS_Color().
Example:
IF l_Error = .T.
VS_GRABSCR()
VS_PALETTE(3)
ac_Msg[1] = " Some error just happened "
VS_MSG(ac_Msg,1,"","")
INKEY(10)
VS_PUTSCR()
...
ENDIF
Usage:
VS_Palette() is a very handy way to help direct the users' eyes to the
appropriate location on the screen. If designed effectively, the
users' eyes will be less strained after prolonged use of your
applications.
See Also:
VS_Color() VS_SaveClr() VS_ReadClr() VS_DefPal()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 117 -
VS_Parse() Parse a string for the next word
Description:
VS_Parse() will return the first word in a string.
Syntax:
c_FirstWord = VS_Parse( c_Sentence )
Pass:
c_Sentence is a character expression containing the string to be
parsed.
Return:
c_FirstWord is the first word of c_Sentence
Notes:
VS_PARSE() will modify the passed string if you pass it by reference
instead of by value (i.e. preceed it with the @sign)
Example:
c_Temp = "This is a test"
? VS_PARSE(@c_Temp)
? c_Temp
OUTPUT: This
is a test
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 118 -
VS_Pick()* Database "pick-list" routine
Description:
VS_Pick() allows the user to pick a record from a "pick-list" window.
The "pick-list" window contains a subset of fields for each record in
the database.
Syntax:
n_Key = VS_PICK( n_Top, n_Left, n_MaxElements, c_FldList, c_Title,
c_Footnote, l_Index, c_EachLine, c_HdrLine, l_CanDelete, @n_CurrLine,
ac_Procs, an_Keys )
Pass:
n_Top is a numeric value for the top row of the window
n_Left is a numeric value for the left column of the window
n_MaxElements is a numeric value representing the maximum number
of elements (lines) to display in the window at one time
c_FldList is a character expression representing the macro string
of fields to display on each line. i.e. "FRST_NAME+[ ]+LAST_NAME"
c_Title is a character expression representing the title to be
displayed at the top of the window (offset to the left)
c_Footnote is a character expression representing the footnote to
be displayed at the bottom of the window (centered)
l_Index is a logical expression that should be set to .T. if the
current database is indexed, otherwise it should be set to .F.
c_Proc is a character expression that represents the procedure
name that VS_Pick() will call before it displays each line in the
window.
c_HdrLine is a character expression to be displayed inside the
window as a "header line"
l_Index is a logical expression that should be set to .T. if the
user is allowed to mark records for deletion, otherwise .F.
n_CurrLine is a numeric value representing the line to place the
light bar on (relative to top of window). NOTE: The "@" sign is
required in order for VS_PICK() to maintain a correct display.
ac_Procs is an array of character expressions that tell VS_Pick()
which procedures to call from within the window.
an_Keys is an array of numeric values (parallel to ac_Procs)
that indicate to VS_Pick() the INKEY() values of which keys invoke
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 119 -
which procedure. In other words, if the user presses a key listed in
this array VS_Pick() will call the procedure named in the parallel
element of ac_Procs.
Return:
n_Key is a numeric exprression that represents the INKEY() value
of last key pressed by user
Notes:
Example:
n_BarLine = 0
c_FldList = "LAST_NAME+[ ]+FRST_NAME+[ ]+PHONE"
DO WHILE .T.
n_Key = VS_PICK(5,5,12,c_FldList,"Title","Footnote",;
.T.,"","Header",.F.,@n_BarLine)
DO CASE
CASE n_Key = 13 && [Return]
EDITPROG() && Edit current record
CASE n_Key = 22 && [Insert]
ADD_PROG() && Add new record
CASE n_Key = 27 && [Escape]
EXIT
ENDCASE
ENDDO
Usage:
See Also:
VS_Edit()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 120 -
VS_PopDbf() Restores a work area the way it was from stck
Description:
VS_PopDbf() will restore a work area to the way it was when
VS_PushDbf() was last called.
Syntax:
VS_PushDbf( [n_HowMany] )
Pass:
n_HowMany is an optional numeric value representing how many work
areas to retore. The default is one.
Return:
VS_PopDbf() will always return NIL.
Notes:
Example:
VS_PushDbf()
SELECT SOME_AREA
DO SOME_WORK
...
VS_PopDbf()
Usage:
VS_PopDbf() should be called by your programs as part of the clean up
process before they exit. VS_PopDbf() must be used "balanced" with
VS_PushDbf().
See Also:
VS_PushDbf() VS_PutScr() VS_PopSets()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 121 -
VS_PopSets() Restores all of the SET settings from stack
Description:
VS_PopSets() will restore all the SET settings saved with the last
call to VS_PushSets().
Syntax:
VS_PopSets()
Pass:
Nothing
Return:
VS_PopSets() will always return NIL
Notes:
Example:
VS_PushSets()
SET(_SET_ALTFILE,"MYFILE.TXT")
...
VS_PopSets()
Usage:
VS_PopSets() should be called by your programs as part of the clean-up
before they exit. VS_PopSets() must be used in "balance" with
VS_PushSets().
See Also:
VS_PushSets() VS_PutScr() VS_PopDbf()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 122 -
VS_PrintNtx() Print the internal index stack
Description:
VS_PrintNtx() prints the internal index stack that is maintained by
VS_OpenDbf() when it opens files.
Syntax:
VS_PrintNtx()
Pass:
Nothing
Return:
VS_PrintNtx() always returns NIL
Notes:
Example:
VS_PrintNtx()
Usage:
VS_PrintNtx() is useful for debugging purposes and really has very
little other value.
See Also:
VS_NtxDict()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 123 -
VS_PrintTst() Tests the currently defined printer
Description:
VS_PrintTst() allows the programmer to provide a way for the user to
test his/her printer setup.
Syntax:
VS_PrintTst()
Pass:
Nothing
Return:
VS_PrintTst() always returns NIL
Notes:
This function was written by Jerry Eckler of The Switchroom BBS at
817/280-0009, 24hrs per day, 2400 baud. Thanks Jerry!!
Example:
VS_PrintTst()
Usage:
See Also:
VS_InitPrtr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 124 -
VS_Proper() Sets the first letter to Uppercase
Description:
VS_Proper() accepts a character string and converts all to lowercase,
and then converts the first character to uppercase.
Syntax:
c_ProperString = VS_Proper( c_String )
Pass:
c_String is the character expression VS_Proper() is to convert.
Return:
c_ProperString is a character expression of c_String with the
first character converted to uppercase and all others converted to
lowercase.
Notes:
Example:
? VS_PROPER("this is a test.")
Will return "This is a test."
Usage:
@ 10,10 SAY 'Please input your first name.'
@ 11, 10 GET c_Fname
read
c_Fname := VS_PROPER(c_Fname)
CLS
@ 12,12 SAY "Hello, " + c_Fname
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 125 -
VS_PrtMsg() Display a "printing" message
Description:
VS_PrtMsg() will display a "cute" little message telling the user that
a report is printing.
Syntax:
VS_PrtMsg(n_Palette)
Pass:
n_Palette is a numeric value representing the palette for the
window.
Return:
VS_PrtMsg() always returns NIL
Notes:
VS_PrtMsg() is non-screen destructive. VS_PrtMsg() is designed to be
used in concert with VS_EndText().
Example:
VS_PrtMsg()
...
...
VS_EndText()
Usage:
VS_PrtMsg() displays a "printer" picture and the message... "Printing.
Please wait..."
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 126 -
VS_Purple() Returns the codes to turn "Purple" on
Description:
VS_Purple() returns the appropriate control codes to make the
currently selected printer print in purple.
Syntax:
c_CtrlCode = VS_Purple()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print in purple.
Notes:
If a printer has not yet been selected, VS_Purple() will call
VS_InitPrtr().
Note:
Non-Color printers will be uneffected by the use of this function.
Example:
SET PRINT ON
? VS_Purple() + "This will be in purple"
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 127 -
VS_PushDbf() Save all the information about a work area
Description:
VS_PushDbf() will preserve the status of a work area.
Syntax:
VS_PushDbf( [c_Alias] )
Pass:
c_Alias is an optional character expression that should contain
the ALIAS() name of the work area to PUSH onto the stack. If
c_Alias is not specified, it will default to the ALIAS() name for
the current work area.
Return:
VS_PushDbf() always returns NIL
Notes:
Example:
VS_PushDbf()
SELECT SOME_ALIAS
DO SOME_WORK
...
VS_PopDbf()
Usage:
VS_PushDbf() allows your programs to not worry about what records were
current in a given work area. This allows you to put things back the
way they were when your function was called. VS_PushDbf() must be
used in conjunction with VS_PopDbf().
See Also:
VS_PopDbf() VS_PutScr() VS_PutScr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 128 -
VS_PushSets() Save all of the SET settings to a stack
Description:
VS_PushSets() will save all of the SET settings to a stack for later
recall by VS_PopSets(). This function is very similar to VS_GrabScr()
and VS_PushDbf().
Syntax:
VS_PushSets()
Pass:
Nothing
Return:
VS_PushSets() will always return NIL.
Notes:
Example:
VS_PushSets()
SET(_SET_ALTFILE,"MYFILE.TXT")
...
VS_PopSets()
Usage:
VS_PushSets() should be called by your programs prior to changing any
SET settings. When you program finishes, it should call VS_PopSets().
This will eliminate any unwanted side effects.
See Also:
VS_PopSets() VS_GrabScr() VS_PushDbf()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 129 -
VS_PutScr() Restores a screen captured with VS_GrabScr()
Description:
Restores a screen captured with VS_GrabScr()
Syntax:
VS_PutScr()
Pass:
Nothing
Return:
VS_PutScr() always returns NIL
Notes:
Example:
VS_GRABSCR()
ACCEPT "Please type something " to c_memvar
VS_PUTSCR()
Usage:
See Also:
VS_GrabScr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 130 -
VS_RLock() Locks the currently selected record
Description:
VS_RLock() locks the currently selected record or notifies the user if
unsuccessful.
Syntax:
l_Success = VS_RLock()
Pass:
Nothing
Return:
l_Success is a logical expression that will be set to .T. if
successful, otherwise .F.
Notes:
Example:
DO WHILE whatever
IF .NOT. VS_RLOCK()
ac_msg[1] = "Unable to lock current record"
ac_msg[2] = "Operation aborted"
VS_MSG(ac_msg,2,"","")
INKEY(5)
EXIT
ENDIF
.
.
.
ENDDO
Usage:
VS_RLock() will try to lock the currently selected record. If it is
unsuccessful, a non-screen destructive message stating "Waiting for
busy network. Press any key to abort." will appear on the screen and
VS_RLock() will continue attempting to lock the currently selected
file. If the user aborts the operation by pressing a key, VS_RLock()
will return a logical value of false. If VS_RLock() returns a value
of false, it is your job as the programmer to abort the operation and
recover properly.
See Also:
VS_FakeLck VS_Append() VS_FLock() VS_Use()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 131 -
VS_Random() Returns a random integer
Description:
VS_Random() will return a random number based on the parameters you
pass it.
Syntax:
n_Random = VS_Random( n_Max, n_Seed )
Pass:
n_Max is the maximum number that VS_Random() will generate
n_Seed is a random number seed that VS_Random() will use to make
sure the number is truly "random". i.e. A computer is really
incapable of generating a truly "random" number. It must perform some
algorithm on a specified number to generate what appears to be a
"random". By allowing the programmer to provide a "random number
seed" each program has the ability to have a slightly different
alogrithm and therefore VS_Random() will generate a slightly different
number.
Return:
n_Random is a random integer between 0 and n_Max
Notes:
Example:
? VS_RANDOM(100,23456) // Will supply a random integer between 0
and 100.
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 132 -
VS_ReadClr() Reads color palettes from config database
Description:
VS_ReadClr() is used by VERNSIX.LIB to read the color palettes from
the configuration database. You may call it from within your programs
as well, although there should never be a need to do so.
Syntax:
l_Success = VS_ReadClr()
Pass:
Nothing
Return:
l_Success is a logical expression that will be set to .T. if
VS_ReadClr() was successful otherwise it will be set to .F.
Notes:
There should rarely ever be a need for a programmer to use this
function since VERNSIX.LIB handles it for you.
Example:
VS_READCLR()
Usage:
See Also:
VS_SaveClr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 133 -
VS_Red() Returns the codes to turn "Red" on
Description:
VS_Red() returns the appropriate control codes to make the currently
selected printer print in red.
Syntax:
c_CtrlCode = VS_Red()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print in red.
Notes:
If a printer has not yet been selected, VS_Red() will call
VS_InitPrtr().
Note:
Non-Color printers will be uneffected by the use of this function.
Example:
SET PRINT ON
? VS_Red() + "This will be in red"
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 134 -
VS_Reset() Returns control codes to reset the printer
Description:
VS_Reset() returns the control codes needed to reset the currently
selected printer to it's power on reset state.
Syntax:
c_ResetCode = VS_Reset()
Pass:
Nothin
Return:
c_ResetCode is a character expression containing the necessary
codes to make the currently selected printer reset itself its
"power-on" state.
Notes:
If a printer has not been selected, VS_Reset() will call VS_InitPrtr()
for you.
Example:
SET PRINT ON
? VS_Reset()
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 135 -
VS_SaveClr() Saves color palettes to config database
Description:
VS_SaveClr() is used by VERNSIX.LIB to save the color palettes to the
configuration database. You may call it from within your programs as
well, although there should never be a need to do so.
Syntax:
l_Success = VS_SaveClr()
Pass:
Nothing
Return:
l_Success is a logical expression that will be set to .T. if
successful, otherwise .F.
Notes:
There should rarely ever be a need for a programmer to use this
function since VERNSIX.LIB handles it for you.
Example:
VS_SAVECLR()
Usage:
See Also:
VS_ReadClr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 136 -
VS_ScrlBar() Calculate light bar position
Description:
VS_ScrlBar() calculates the light bar position for "procedure meters"
such as VS_ShowNtx(), etc.
Syntax:
n_BarLine = VS_ScrlBar( n_RelPos, n_Blocks, n_Elements )
Pass:
n_RelPos is a numeric value that represents the relativ position
win the list (eg which line are we on?, how fr along is procedure?,
etc.)
n_Blocks is a numeric value that represents how many blocks are
the scroll bar(don't include the up/down pointers if youe them)
n_Elements is a numeric value that represents how many total
lements (enes within a list, records within a dbf, etc)
Return:
n_BarLine is a numeric value that represents which line to draw
the "high-light" marker on.
Notes:
Example:
@ 10,25 SAY REPLICATE("░",50)
@ 11,25 SAY VS_PadStr("Percentage Complete",50)
GO TOP
DO WHILE .NOT. EOF()
@ 10,25 SAY REPLICATE("█", VS_ScrlBar(RECNO(),50,RECCOUNT()) )
DO SomeProcs
...
SKIP
ENDDO
Usage:
VS_ScrlBar() is used within VERNSIX.LIB in several locations to show
the user what the status of an operation is, and to show positions
within a list, etc.
Carefully study ACHOICE() and TBROWSE() and you will see unlimited
potential for VS_ScrlBar()
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 137 -
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 138 -
VS_SemaMins() Set number of minutes a semaphore remains active
Description:
VS_SemaMins() allows you to change/read the number of minutes that a
semaphore can remain active.
Syntax:
n_OldMax = VS_SemaMins( [n_MaxMins] )
Pass:
n_MaxMins is an optional numeric expression that should contain
the maximum number of minutes that a semaphore can remain active.
Return:
n_OldMax is a numeric expression that will contain the current
maximum number of minutes that a semaphore can remain active. The
default is fifteen minutes.
Notes:
Example:
VS_SemaMins( 10 )
Usage:
VS_SemaMins() is designed to be used as a safegaurd against a user
shutting off his/her computer after locking a semaphore but before
he/she properly releases it.
See Also:
VS_SemaPhore()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 139 -
VS_SemaPhore() Lock/Unlock a semaphore
Description:
VS_SemaPhore() allows you to lock/unlock a semaphore for transaction
processing, etc. Example: Because it is not possible to lock multiple
records in the same file (without locking the entire file) it is
sometimes advisable to a semaphore to signal other applications/users
that you require multiple records to be locked at the same time. If
all your programs adhere to the semaphore rules, you can dramatically
improve the speed and stability of your application.
Syntax:
l_Success = VS_SemaPhore( c_SemaPhoreName, c_Initials, l_Lock )
Pass:
c_SemaPhoreName is a character expression that should contain the
name of the semaphore that you want to lock or unlock. Keep in mind
that semaphores can be anything you want them to be. I try to group
related transactions into groups and then give those groups a name.
That name is what I use for c_SemaPhoreName.
c_Initials is a character expression that should contain the
user's initials. This can be used with VS_Initials().
l_Lock is a logical expression that should be set to .T. if you
want to lock the specified semaphore or to .F. if you want to unlock
it.
Return:
l_Success is a logical expression that will be set to .T. if
VS_SemaPhore() was successful, otherwise .F.
Notes:
Example:
IF VS_SemaPhore( "ADD_CUST", "VES", .T. )
AddCust() // Add a new customer
VS_SemaPhore( "ADD_CUST", "VES", .F. )
ELSE
VS_Tell( 3,10,"Unable To Add A New Customer Now!")
ENDIF
Usage:
See Also:
VS_SemaMins()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 140 -
VS_SetOrder() Set the controlling order of index files
Description:
VS_SetOrder() controls which of the current work area's active indexes
is the controlling index just like SET ORDER TO <expN> except
VS_SetOrder() allows you to specify an ALIAS() for the index file.
Syntax:
l_Success = VS_SetOrder( c_NtxAlias )
Pass:
c_NtxAlias is a character expression that contains the base (a/k/a
alias) name of the index file (ie. MYFILE.NTX would be "MYFILE").
Return:
l_Success is a logical expression that will be set to .T. if
VS_SetOrder() was successful, otherwise .F.
Notes:
VS_SetOrder() is only available for Clipper v5.0x
Example:
IF VS_OpenDbf("CUST") // Three indexes...
// CUST, SALE_TER, REGION
VS_SetOrder("REGION")
ENDIF
...
...
Usage:
VS_SetOrder() allows the programmer to not be concerned with the
numeric order that dbSetOrder() requires. This makes the application
much more flexible should the database administrator remove/add
indexes to the Data Dictionary.
See Also:
VS_OpenDbf() VS_OpenLst()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 141 -
VS_SetPath() Set the default path for DBF/NTX files
Description:
VS_SetPath() allows you to change/read the current default path that
VS_OpenDbf() will use when opening databases.
Syntax:
c_CurrentPath = VS_SetPath( [c_NewPath] )
Pass:
c_NewPath is an optional character expression that should contain
the new path you want VS_OpenDbf() to use when opening databases.
Return:
c_CurrentPath is a character expression that will contain the
current path setting.
Notes:
Example:
c_OldPath = VS_SetPath( "D:\DATA\" )
SOME_UDF()
...
VS_SetPath( c_OldPath )
...
Usage:
See Also:
VS_OpenDbf()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 142 -
VS_ShdwFill() Returns the current shadow fill character
Description:
VS_ShdwFill() allows the programmer to sense what character the user
is using for "character" shadows.
Syntax:
c_ShadowChr = VS_ShdwFill()
Pass:
Nothing
Return:
c_ShadowChr is a character expression that will contain the shadow
fill character on the current palette.
Notes:
Example:
? VS_ShdwFill()
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 143 -
VS_ShdwType() Returns the current shadow type
Description:
VS_ShdwType() will allow the programmer to sense what type of shadows
the user is currently using.
Syntax:
n_ShadowType = VS_ShdwType()
Pass:
Nothing
Return:
n_ShadowType is a numeric value that has the following meaning...
----------
0 - No Shadow
1 - Character Shadow
2 - True Shadows (default)
Notes:
Example:
? VS_ShdwType()
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 144 -
VS_ShowNtx() Index "gas guage"
Description:
VS_ShowNtx() provides the programmer with a non-screen destructive
"gas guage" type of chart to show the user what percentage of the
index operation is complete.
Syntax:
l_Success = VS_ShowNtx( c_Name, c_Key, [c_Type], [l_Unique])
Pass:
c_NtxName is a character expression representing the name of the
index file to create. i.e. "MYINDEX"
c_Key is a character expression that represents the index key in
textual form.
c_Type is a optional character expression that should be set to
one following values... C for Character, N for Numeric, D for Date.
The default value for c_Type is "C"
l_Unique is a optional logical expression that should be set to
.T. if you want to create a "UNIQUE" index. If omitted or .F.,
VS_ShowNtx() will create a "non-UNIQUE" index.
Return:
l_Success is a logical expression that will be set to .T. if
successful, otherwise .F.
Notes:
Example:
USE CLIENT ALIAS CLIENT
IF .NOT. FILE("CLIENT1.NTX")
VS_SHOWNTX("CLIENT1","ZIP_CODE+ACCT_NMBR")
ENDIF
IF .NOT. FILE("CLIENT2.NTX")
VS_SHOWNTX("CLIENT2","SLSPERSON")
ENDIF
SET INDEX TO CLIENT1, CLIENT2
Usage:
One of the biggest disadvantages of Clipper is the inability to show
the progress of an index operation. While it can be argued that the
hard drive access light is sufficient to tell the user that something
is happening, a far greater number of users will argue to the
contrary. In fact, several users have been known to turn the machine
off while in the middle of a large index operation. VS_SHOWNTX()
provides a user-friendly "gas-guage" type of display telling the user
exactly how things are progressing.
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 145 -
VS_SHOWNTX() is a substitution for the Clipper "INDEX ON" command. It
acts EXACTLY the same as "INDEX ON" in that all other index files
currently open for the database are closed.
See Also:
VS_Wind()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 146 -
VS_SnapFile() Change the output file name VS_SnapShot()
Description:
VS_SnapFile() allows you to change/read the current output file for
VS_SnapShot().
Syntax:
c_CurrentFile = VS_SnapFile( [c_NewFile] )
Pass:
c_NewFile is an optional character expression that should contain
the filename you want output from VS_SnapShot() to go to.
Return:
c_CurrentFile is a character expression that will contain the
current filename for the output from VS_SnapShot().
Notes:
Example:
c_Current = VS_SnapFile( "MYSNAP.LOG" )
SOME_UDF()
VS_SnapFile( c_Current )
...
Usage:
See Also:
VS_SnapShot()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 147 -
VS_SnapShot() Grab a "snap-shot" of your application
Description:
VS_SnapShot() allows the programmer/developer to grab a picture
(snap-shot) of the application during any wait-state. VS_SnapShot()
reports which files are open, the current record, which index files
are open and the controlling order and much more.
Syntax:
SET KEY n_Key TO VS_SnapShot()
Pass:
Nothing
Return:
Nothing
Notes:
By default, the output from VS_SnapShot() will go to the text file
called SNAPSHOT.LOG. You can change this with VS_SnapFile().
Example:
SET KEY K_ALT_S TO VS_SnapShot()
...
Usage:
See Also:
VS_SnapFile()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 148 -
VS_Tell() Tell the user a message and wait
Description:
VS_Tell() allows the programmer to display a message in a window and
wait for a keypress.
Syntax:
VS_Tell( n_Palette, n_Seconds, c_Line1, ... c_Line10 )
Pass:
n_Palette is a numeric expression containing the palette color for
this window.
n_Seconds is a numeric expression containing the maximum number of
seconds to wait on the user to press a key.
c_Line1 is a character expression containing the first line of the
message.
c_Line2...c_Line10 are all optional character expressions
representing additional lines of the message
Return:
VS_Tell() always returns NIL
Notes:
Example:
VS_Tell(3,0,"An Error Has Occurred!") // Will wait forever
Usage:
See Also:
VS_Text() VS_Msg()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 149 -
VS_Text() Display a message in a window
Description:
VS_Text() displays a message in window, centered on the screen.
Syntax:
VS_Text( n_Palette, c_Line1 [, c_Line2 [, c_Line3 [, c_Line4 [,
c_line5 [, c_Line6 [, c_Line7 [, c_Line8 [, c_Line9 [, c_Line10
]]]]]]]]])
Pass:
n_Palette is a numeric value representing the palette number for
this window.
c_Line1 is a character expression containing the first line of the
message to display.
c_line2 ... c_Line10 are optional character expressions, each
containing another line of the message to display.
Return:
VS_Text() always returns NIL
Notes:
Example:
VS_Tell(2,"Please wait while printing...")
DO RPT_PRG
VS_EndText()
Usage:
VS_Text() is a handy method of displaying a message to the user that
replaces the overhead associated with using VS_Msg().
See Also:
VS_EndText() VS_Msg() VS_Wind() VS_Title() VS_FootNote()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 150 -
VS_TextEnh() Returns the enhanced text color
Description:
VS_TextEnh() returns the enhanced text color of the currently selected
palette.
Syntax:
c_Color = VS_TextEnh()
Pass:
Nothing
Return:
c_Color is a character expression that will contain the enhanced
text color for the currently selected palette.
Notes:
Example:
? VS_TextEnh()
Usage:
See Also:
VS_TextStd() VS_TextUns()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 151 -
VS_TextStd() Returns the standard text color
Description:
VS_TextStd() returns the standard text color of the currently selected
palette.
Syntax:
c_Color = VS_TextStd()
Pass:
Nothing
Return:
c_Color is a character expression that will contain the standard
text color for the currently selected palette.
Notes:
Example:
? VS_TextStd()
Usage:
See Also:
VS_TextEnh() VS_TextUns()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 152 -
VS_TextUns() Returns the unselected text color
Description:
VS_TextUns() returns the unselected text color of the currently
selected palette.
Syntax:
c_Color = VS_TextUns()
Pass:
Nothing
Return:
c_Color is a character expression that will contain the unselected
text color for the currently selected palette.
Notes:
Example:
? VS_TextUns()
Usage:
See Also:
VS_TextStd() VS_TextEnh()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 153 -
VS_Title() Sets the title for VS_Text()
Description:
VS_Title() sets the title that VS_Text() will use for the window it
displays.
Syntax:
c_OldTitle = VS_Title( c_NewTitle )
Pass:
c_NewTitle is a character expression containing the new title that
VS_Text() should use for all subsequent calls.
Return:
c_OldTitle is a character expression containing the previous title
that VS_Text() used for windows.
Notes:
The first time VS_Text() is called c_NewTitle is considered to be
a null string.
Example:
c_OldTitle = VS_Title( "WARNING!" )
VS_Text(3,"Danger, Will Robinson!")
...
VS_EndText()
VS_Title(c_OldTitle) // Restore it to what it was!
...
Usage:
See Also:
VS_Text() VS_FootNote()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 154 -
VS_TxtColr() Sets color to "text mode"
Description:
VS_TxtColr() sets color to normal text colors as defined by the
configuration database.
Syntax:
VS_TxtColr()
Pass:
Nothing
Return:
VS_TxtColr() always returns NIL
Notes:
Example:
VS_TXTCOLR()
Usage:
See Also:
VS_Color() VS_Wind() VS_WndColr() VS_Msg()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 155 -
VS_Und() Print a string in "Underline" mode
Description:
VS_Und() returns the appropriate control codes to make the currently
selected printer print in "Underline" mode.
Syntax:
c_CtrlCode = VS_Und( c_String )
Pass:
c_String is a character expression containing the value to print.
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print c_String in "Underline" mode.
Notes:
If a printer has not yet been selected, VS_Und() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_Und([This will be in "Underline" mode.])
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_UndOn() VS_UndOff() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 156 -
VS_UndOff() Returns the codes to turn "Underline" off
Description:
VS_UndOff() returns the necessary codes to make the currently selected
printer stop printing in "Underline" mode.
Syntax:
c_CtrlCode = VS_UndOff()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that will contain the
necessary codes to make the currently selected printer stop printing
in "Underline" mode.
Notes:
If a printer has not yet been selected, VS_UndOff() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_UndOn()
? [This is in "Underline"]
? [So is this]
? VS_UndOff()
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_Und() VS_UndOn() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 157 -
VS_UndOn() Returns the codes to turn "Underline" on
Description:
VS_UndOn() returns the necessary codes to make the currently selected
printer print in "Underline" mode.
Syntax:
c_CtrlCode = VS_UndOn()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that will contain the
necessary codes to make the currently selected printer print in
"Underline" mode.
Notes:
If a printer has not yet been selected, VS_UndOn() will call
VS_InitPrtr().
Example:
SET PRINT ON
? VS_UndOn()
? [This will be in "Underline" mode]
? [So will this]
? VS_UndOff()
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() VS_Und() VS_UndOff() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 158 -
VS_Unique() Returns a six character unique string
Description:
VS_Unique() returns a six character string based on the date and time
which should never be able to be duplicated.
Syntax:
c_String = VS_Unique()
Pass:
Nothing
Return:
c_String is a unqiue six character string that should never be
able to be duplicated with subsequent calls to VS_Unique().
Notes:
Example:
c_TempDbf = VS_Unique() + ".DBF"
Usage:
VS_Unique() is used anytime you need to return a unique character
string for a filename, random password, ect.
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 159 -
VS_Use() Opens a file on a local area network
Description:
VS_Use() opens a specified database file in the currently selected
work area or notifies the user if unsuccessful. The file can have an
ALIAS specified as well as EXCLUSIVE use set on or off.
Syntax:
l_Success = VS_Use( c_DbfName, [l_Exclusive] , [c_Alias] )
Pass:
c_DbfName is a character expression representing the name of the
DBF file to open. You should not include the file extension (i.e.
".DBF")
l_Exclusive is an optional logical expression that should be set
to .T. if you want to open c_DbfName in EXCLUSIVE mode, otherwise
.F. If omitted, l_Exclusive defaults to .F.
c_Alias is an optional character expression that contains the
alias name for c_DbfName. If omitted, c_Alias defaults to the
same value as c_DbfName.
Return:
l_Success is a logical expression that will be set to .T. if
successful, otherwise .F.
Notes:
Example:
DO WHILE whatever
IF .NOT. VS_USE("testfile",.F.)
ac_msg[1] = "Unable to open file"
ac_msg[2] = "Operation aborted"
VS_MSG(ac_msg,2,"","")
INKEY(5)
EXIT
ENDIF
.
.
.
ENDDO
Usage:
VS_Use() will attempt to open the specified database file in the
requested mode. If it is unsuccessful, a non-screen destructive
message stating, "Waiting for busy network. Press any key to abort."
will appear on the screen and VS_Use() will continue attempting to
open the file in the mode specified. If the user aborts the operation
by pressing a key, VS_Use() will return a logical value of false. If
VS_Use() returns a value of false, it is your job as the programmer to
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 160 -
abort the operation and recover properly.
See Also:
VS_FakeLck VS_Append() VS_FLock() VS_RLock() VS_AddRec() VS_DelRec()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 161 -
VS_UserName() Returns the user's full name
Description:
VS_UserName() is designed to be used in concert with VS_Login() to
return the user's full name.
Syntax:
c_FullName = VS_UserName()
Pass:
Nothing
Return:
c_UserName is a character expression that will contain the user's
name, if he/she has successfully logged in with VS_Login().
Notes:
VS_Login() MUST be called prior to VS_UserName()
Example:
IF VS_Login()
QOut( "Your name is..." + VS_UserName() )
ENDIF
...
Usage:
See Also:
VS_Login() VS_MntPwd() VS_ChkAuth() VS_Initials()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 162 -
VS_VBoxStr() Returns the current box string for pulldowns
Description:
VS_VBoxStr() allows the programmer to sense what "pull down" box
string the user has selected for the window boxes on the current
palette.
Syntax:
c_BoxStr = VS_VBoxStr()
Pass:
Nothing
Return:
c_BoxStr is a character expression that will contain the current
window box string.
Notes:
Example:
? VS_VBoxStr()
Usage:
See Also:
VS_BoxStr()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 163 -
VS_ValKeys() VALID clause to test if key is in a list
Description:
VS_ValKeys() allows the programmer to see if key is in a list of valid
keys.
Syntax:
l_Valid = VS_ValKeys( c_Key, c_KeyList, [@l_EatKeys] )
Pass:
c_Key is a character expression containing the key to search for.
c_KeyList is a character expression containing the list of valid
keys.
l_Eating is an optional logical expression that can be used in
place of VS_EatKeys()
Return:
l_Valid is a logical expression that will be set to .T. if
c_Key is found to be in c_KeyList, otherwise it will be .F.
Notes:
Example:
c_Key = " "
@ 5,5 SAY "Type A, B, C or D: " GET c_Key VALID
VS_ValKeys(c_Key,"ABCD")
READ
Usage:
See Also:
VS_EatKeys() VS_NoOther() VS_NotNeg() VS_NotPos() VS_NotZero()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 164 -
VS_Version() Returns the current version of VERNSIX.LIB
Description:
VS_Version() is used strictly to identify which version of the library
you are using. You will need to know this information should you need
to call FrontLine Software's technical support number.
Syntax:
c_Version = VS_Version()
Pass:
Nothing
Return:
c_Version is a character expression containing the version
information for your copy of VERNSIX.LIB
Notes:
Example:
? VS_VERSION()
Usage:
VS_VERSION() will probably be rarely used by any programmer, rather it
is used by the author of VERNSIX.LIB to identify which version of the
library you are using.
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 165 -
VS_Wind() Draws a window with optional shadow, etc.
Description:
VS_Wind() is used to draw a window on the screen with an optional
shadow.
Syntax:
VS_Wind( n_Top, n_Left, n_Bottom, n_Right, c_Title, c_Footnote )
Pass:
n_Top is a numeric value representing the top row of the window
n_Left is a numeric value representing the left column of the
window.
n_Bottom is a numeric value representing the bottom row of the
window.
n_Right is a numeric value representing the right column of the
window.
c_Title is a character expression to be displayed at the top of
the window (offset to the left)
c_Footnote is a character expression to be displayed at the bottom
of the window (centered)
Return:
VS_Wind() always returns NIL
Notes:
VS_Wind() is used extensively throughout many of the functions in
VERNSIX.LIB.
Example:
VS_Wind( 5, 5, 10, 75, "Title", "Footnote" )
Usage:
See Also:
VS_WndColr() VS_Msg() VS_Coord() VS_ShdwType()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 166 -
VS_WindBox() Returns the color of window boxes
Description:
VS_WindBox() returns the color string for window boxes on the current
palette.
Syntax:
c_Color = VS_WindBox()
Pass:
Nothing
Return:
c_Color is a character expression that will contain the color
string for window boxes on the current palette.
Notes:
Example:
? VS_WindBox()
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 167 -
VS_WindEnh() Returns the enhanced window color
Description:
VS_TextEnh() returns the enhanced window color of the currently
selected palette.
Syntax:
c_Color = VS_WindEnh()
Pass:
Nothing
Return:
c_Color is a character expression that will contain the enhanced
window color for the currently selected palette.
Notes:
Example:
? VS_TextEnh()
Usage:
See Also:
VS_WindStd() VS_WindUns()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 168 -
VS_WindShdw() Returns the color of character window shadows
Description:
VS_WindShdw() will return the color string for character shadows on
the current palette.
Syntax:
c_Color = VS_WindShdw()
Pass:
Nothing
Return:
c_Color is a character expression that will contain the color
string for character shadows on the current palette.
Notes:
Example:
? VS_WindShdw()
Usage:
See Also:
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 169 -
VS_WindStd() Returns the standard window color
Description:
VS_WindStd() returns the standard window color of the currently
selected palette.
Syntax:
c_Color = VS_WindStd()
Pass:
Nothing
Return:
c_Color is a character expression that will contain the standard
window color for the currently selected palette.
Notes:
Example:
? VS_WindStd()
Usage:
See Also:
VS_WindEnh() VS_WindUns()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 170 -
VS_WindUns() Returns the unselected window color
Description:
VS_WindUns() returns the unselected window color of the currently
selected palette.
Syntax:
c_Color = VS_WindUns()
Pass:
Nothing
Return:
c_Color is a character expression that will contain the unselected
window color for the currently selected palette.
Notes:
Example:
? VS_WindUns()
Usage:
See Also:
VS_WindStd() VS_WindEnh()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 171 -
VS_WndColr() Sets color to "window mode"
Description:
VS_WndColr() sets colors to the "window mode" as defined in the
configuration database.
Syntax:
VS_WndColr()
Pass:
Nothing
Return:
VS_WndColr() always returns NIL
Notes:
Example:
VS_WNDCOLR()
Usage:
See Also:
VS_TxtColr() VS_Wind() VS_Msg() VS_Color()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 172 -
VS_Write() Write a string to a text file
Description:
VS_Write() allows the programmer to replace several calls to FWRITE()
and all the parameters it requires.
Syntax:
First Call:
l_Success = VS_Write( n_Handle )
Subsequent Calls:
l_Success = VS_Write( c_String )
Pass:
First Call:
n_Handle is a numeric value representing the DOS file handle
returned by FCREATE() or FOPEN().
Subsequent Calls:
c_String is a character expression containing the information to
write to the file associated with n_Handle.
Return:
l_Success is a logical value that will be set to .T. if VS_Write()
was successful, otherwise .F.
Notes:
YOU MUST CALL VS_WRITE() WITH A DOS HANDLE EACH TIME YOU OPEN A NEW
FILE!!!
Example:
n_Handle = FCREATE( "Myfile.Txt" )
VS_Write(n_Handle)
VS_Write("Hello World!")
FCLOSE(n_Handle)
Usage:
When the programmer uses FWRITE() he has to continually use the DOS
file handle, VS_Write() remembers the handle and frees the programmer
from having to re-type the handle so many times in the program file.
See Also:
VS_WriteLn()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 173 -
VS_WriteLn() Write a string to a text file with CR/LF
Description:
VS_WriteLn() allows the programmer to replace several calls to
FWRITE() and all the parameters it requires.
Syntax:
First Call:
l_Success = VS_WriteLn( n_Handle )
Subsequent Calls:
l_Success = VS_WriteLn( c_String )
Pass:
First Call:
n_Handle is a numeric value representing the DOS file handle
returned by FCREATE() or FOPEN().
Subsequent Calls:
c_String is a character expression containing the information to
write to the file associated with n_Handle. VS_WriteLn() will
automatically add a Carrige Return (CHR(13)) and a line feed (CHR(10))
to the end of c_String.
Return:
l_Success is a logical value that will be set to .T. if VS_Write()
was successful, otherwise .F.
Notes:
YOU MUST CALL VS_WRITELN() WITH A DOS HANDLE EACH TIME YOU OPEN A NEW
FILE!!!
Example:
n_Handle = FCREATE( "Myfile.Txt" )
VS_WriteLn(n_Handle)
VS_WriteLn("Hello World!")
FCLOSE(n_Handle)
Usage:
When the programmer uses FWRITE() he has to continually use the DOS
file handle, VS_Write() remembers the handle and frees the programmer
from having to re-type the handle so many times in the program file.
See Also:
VS_Write()
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 174 -
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 175 -
VS_Yellow() Returns the codes to turn "Yellow" on
Description:
VS_Yellow() returns the appropriate control codes to make the
currently selected printer print in yellow.
Syntax:
c_CtrlCode = VS_Yellow()
Pass:
Nothing
Return:
c_CtrlCode is a character expression that represents the necessary
control codes to print in yellow.
Notes:
If a printer has not yet been selected, VS_Yellow() will call
VS_InitPrtr().
Note:
Non-Color printers will be uneffected by the use of this function.
Example:
SET PRINT ON
? VS_Yellow()+"This will be in yellow"
SET PRINT OFF
Usage:
See Also:
VS_InitPrtr() STRUCT.NGO:Printers
Vern Six's Clipper ToolBox v8.00
CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved
- 176 -
VS_AddDays() ..................................................1
VS_AddHours() ..................................................2
VS_AddMins() ..................................................3
VS_AddRec() ..................................................4
VS_AddSecs() ..................................................5
VS_Alert() ..................................................6
VS_Append() ..................................................8
VS_ArraySkip() ..................................................10
VS_Ask() ..................................................11
VS_Ask2() ..................................................12
VS_Black() ..................................................14
VS_Blue() ..................................................15
VS_Bold() ..................................................16
VS_BoldOff() ..................................................17
VS_BoldOn() ..................................................18
VS_BoxStr() ..................................................19
VS_Browse() ..................................................20
VS_CanMake() ..................................................23
VS_Center() ..................................................24
VS_CfgFile() ..................................................25
VS_ChkAuth() ..................................................26
VS_CloseDict() ..................................................27
VS_CloseLst() ..................................................28
VS_Color() ..................................................29
VS_Cond() ..................................................30
VS_CondOff() ..................................................31
VS_CondOn() ..................................................32
VS_Coord() ..................................................33
VS_Correct() ..................................................35
VS_CreateHelp()..................................................36
VS_Cvt2Str() ..................................................37
VS_CvtCode() ..................................................38
VS_DateTime() ..................................................39
VS_DbfList() ..................................................40
VS_Dbl() ..................................................41
VS_DblOff() ..................................................42
VS_DblOn() ..................................................43
VS_DecTo36() ..................................................44
VS_Decrypt() ..................................................45
VS_DefPal() ..................................................46
VS_DelRec() ..................................................47
VS_DictPath() ..................................................49
VS_DictStru() ..................................................50
VS_DictVar() ..................................................51
VS_Die() ..................................................52
VS_Dim() ..................................................53
VS_Dol2Str() ..................................................54
VS_Draft() ..................................................55
VS_DropScr() ..................................................56
VS_Dte2Txt() ..................................................57
VS_EatKeys() ..................................................58
VS_Edit() ..................................................59
VS_ElapDays() ..................................................61
VS_ElapHours() ..................................................62
VS_ElapMins() ..................................................63
VS_ElapSecs() ..................................................64
VS_Encrypt() ..................................................65
VS_EndText() ..................................................66
VS_FLock() ..................................................67
VS_FakeLck ..................................................68
VS_FileSel() ..................................................69
VS_Filt() ..................................................70
VS_FootNote() ..................................................71
VS_FormFeed() ..................................................72
VS_GetDate() ..................................................73
VS_GetTime() ..................................................74
VS_GrabScr() ..................................................75
VS_Green() ..................................................76
VS_Help() ..................................................77
VS_HelpDbf() ..................................................78
VS_HelpPrg() ..................................................79
VS_HelpVar() ..................................................80
VS_InitHelp() ..................................................81
VS_InitPrtr() ..................................................82
VS_InitVern() ..................................................83
VS_Initials() ..................................................84
VS_Inkey() ..................................................85
VS_Ital() ..................................................86
VS_ItalOff() ..................................................87
VS_ItalOn() ..................................................88
VS_LineFeed() ..................................................89
VS_LinesPg() ..................................................90
VS_Login() ..................................................91
VS_MakeHlp() ..................................................92
VS_Menu() ..................................................93
VS_MntPwd() ..................................................96
VS_Msg() ..................................................97
VS_NetEdit() ..................................................98
VS_NewScrn() ..................................................99
VS_Nlq() ..................................................100
VS_NoOther() ..................................................101
VS_NotEmpty() ..................................................102
VS_NotNeg() ..................................................103
VS_NotPos() ..................................................104
VS_NotZero() ..................................................105
VS_NtxAll() ..................................................106
VS_NtxDict() ..................................................107
VS_NtxList() ..................................................108
VS_Num2Txt() ..................................................109
VS_OpenAll() ..................................................110
VS_OpenDbf() ..................................................111
VS_OpenDict() ..................................................113
VS_OpenLst() ..................................................114
VS_Orange() ..................................................115
VS_PackAll() ..................................................116
VS_Palette() ..................................................117
VS_Parse() ..................................................118
VS_Pick()* ..................................................119
VS_PopDbf() ..................................................121
VS_PopSets() ..................................................122
VS_PrintNtx() ..................................................123
VS_PrintTst() ..................................................124
VS_Proper() ..................................................125
VS_PrtMsg() ..................................................126
VS_Purple() ..................................................127
VS_PushDbf() ..................................................128
VS_PushSets() ..................................................129
VS_PutScr() ..................................................130
VS_RLock() ..................................................131
VS_Random() ..................................................132
VS_ReadClr() ..................................................133
VS_Red() ..................................................134
VS_Reset() ..................................................135
VS_SaveClr() ..................................................136
VS_ScrlBar() ..................................................137
VS_SemaMins() ..................................................139
VS_SemaPhore() ..................................................140
VS_SetOrder() ..................................................141
VS_SetPath() ..................................................142
VS_ShdwFill() ..................................................143
VS_ShdwType() ..................................................144
VS_ShowNtx() ..................................................145
VS_SnapFile() ..................................................147
VS_SnapShot() ..................................................148
VS_Tell() ..................................................149
VS_Text() ..................................................150
VS_TextEnh() ..................................................151
VS_TextStd() ..................................................152
VS_TextUns() ..................................................153
VS_Title() ..................................................154
VS_TxtColr() ..................................................155
VS_Und() ..................................................156
VS_UndOff() ..................................................157
VS_UndOn() ..................................................158
VS_Unique() ..................................................159
VS_Use() ..................................................160
VS_UserName() ..................................................162
VS_VBoxStr() ..................................................163
VS_ValKeys() ..................................................164
VS_Version() ..................................................165
VS_Wind() ..................................................166
VS_WindBox() ..................................................167
VS_WindEnh() ..................................................168
VS_WindShdw() ..................................................169
VS_WindStd() ..................................................170
VS_WindUns() ..................................................171
VS_WndColr() ..................................................172
VS_Write() ..................................................173
VS_WriteLn() ..................................................174
VS_Yellow() ..................................................176